У меня есть файл CSV, который содержит приблизительно 1 ГБ данных. Данные имеют 484 000 строк и 60 столбцов. Я должен ответить на некоторые вопросы, прочитав файл, однако данные очень большие, и мне нужно эффективно управлять памятью. Есть ли эффективный способ хранения данных? Если мне нужно хранить данные в структуре данных, какая структура данных будет эффективна для хранения / управления данными?
Я должен написать код на C ++. В текстовом файле есть данные, которыми нужно манипулировать, в основном используя строки. Я использую Windows в качестве платформы. Файл содержит сетевые ошибки телекоммуникационной компании. Сохраненные данные содержат сбои сети, и на основании этих сбоев я должен ответить на некоторые запросы.
** "IDENTIFIER", "CLEARANCEREPORTFLAG", "ESCALATEDALARM", "ACKNOWLEDGEMENTUSERIDE", "HANDLEDBY", "CLOSEDBY", "HANDLEDUSERIDENTIFIER", "RELEASEUSERIDENTIFIER", "CLOSEUSERIDENTIFIER", "TERMINATIONUSERIDENTIF", "ACKNOWLEDGEMENTTIMESTA",» HANDLETIMESTAMP», "CLOSETIMESTAMP", "TERMINATIONTIMESTAMP", "RELEASETIMESTAMP", "CREATIONTIMESTAMP", "ARCHIVETIMESTAMP", "CLEARANCETIMESTAMP", "MANAGEDOBJECT", "TARGETENTITIES", "ALARMTYPE", "EVENTTIME", "уголовное дело", "SECURITYALARMCAUSE" , "SPECIFICPROBLEMS", "BACKEDUPSTATUS", "BACKUPOBJECT", "TRENDINDICATION", "THRESHOLDINFO", "NOTIFICATIONIDENTIFIER", "CORRELNOTIFINFO", "STATECHANGEDEFINITION", "MONITOREDATTRIBUTES", "PROPOSEDREPAIRACTIONS", "RuleName", "области",» SECURITYALARMDETECTOR», "EXPORTSEQUENCENAME", "EXPORTSEQUENCENUMBER", "OCNAME", "ALARMCLASS", "ALARMORIGIN", "PARENTALARMOBJECT", "ALARMCOMMENT", "AGENTALARMIDENTIFIER", "AGENTENTITY", "PERCEIVEDSEVERITY", "ADDITIONALTEXT", "ALARMOBJECTOPERATORNO" "ORIGINALSEVERITY", "ORIGINALEVENTTIME", "USERIDENTIFIER", "USERTEXT", "OUTAGEFLAG", "пробл EMOCCURRENCES», "CRITICALPROBLEMOCCURRE", "MAJORPROBLEMOCCURRENCE", "MINORPROBLEMOCCURRENCE", "WARNINGPROBLEMOCCURREN", "INDETERMINATEPROBLEMOC", "CLEARPROBLEMOCCURRENCE", "SATOTAL", "EMS_DOMAIN", "EMS_VENDOR", "EMS_REGION", "EMS_LOCATION", "FRIENDLY_NAME" "NATIVE_CAUSE"
"49487171", "1", "0", "", "", "", "", "", "Auto-Clear", "Auto-Clear", "", "", "8 / 1/2013
5:06:24 "," 02.08.2013 3:28:49 "," "," 02.08.2013 3:28:41 "," 02.08.2013
5:06:24 "," 02.08.2013 3:51:09 "," HW_T2000_Sys
ihvtfs01_ns: .T2000_Rawalpindi_06 Managed_Element "" 33554504 "" PTP
"" / стеллаж = 1 / полка = 591070 / слот = 11 / домен = wdm / порт = 1 "" CTP
"" / och = 1 "" "," 1349806175 "," CommunicationsAlarm "," 02.08.2013 3:51:09
AM " "LossOfSignal", "", "299340460", "", "", "", "", "", "", "", "", "", ""," Домен
ihvtfs01_ns: .National_Tx_Huawei_dm " "", "Экспорт", "1", "ihvtfs01_ns: .Nat_Tx_Huawei", "0", "0", "", "", "", "", "майор"," @ Приоритет = 20 @ FC = FC.TXM.KHI @ Outage_Flag = @ NE_Name = Карачи
MRD: б @ USER =: добавить:
T2000_Rawalpindi_06; 33554504; / стойки = 1 / полки = 591070 / слот = 11 / домен = WDM / порт = 1; / = 1 оч
native ProbableCause = SM_BIP8_OVER, служба
влияющий = SA_NON_SERVICE_AFFECTING, nativeEMS
Имя = T2000_Rawalpindi_06; MRD Карачи; / стойка = 1 / полка = 1246-KHI MRD 2-2 до
P / C / slot = 11 / domain = wdm / port = 1; / och = 1, дополнительная информация =
AlarmSerialNo = 91292009; AlarmReason = Тревога секции SM уровня OTU
ошибка пересечения порога; ProductName = OptiX BWS1600G;
EquipmentName = ETMXS; AffirmState = FALSE; DetailInfo = Alarm
Параметры (шестнадцатеричные): 0x01 0x00 0x01 0xff 0xff; EMS
T2000_Rawalpindi_06 ManagedElement 33554504 PTP
/ стеллаж = 1 / полка = 591070 / слот = 11 / домен = wdm / порт = 1 CTP
/ och = 1 @ # @ 1-282 @ # @ BER_SF @ # @ 40 Ссылка
INFO: T2000_Rawalpindi_06; Карачи
MRD; / стеллаж = 1 / полка = 591070 / слот = 11 / порт = 1; / och = 1 канал
INFO1 (wdm): T2000_Rawalpindi_06; MRD Карачи; / стойка = 1 / полка = MRD 1246-KHI
От 2-2 до P / C / слот = 11 / домен = wdm / порт = 1; / och = 1 NE_Lookup: Карачи
MRD__Karachi MRD; / стойки = 1 / полки = 1246-KHI MRD 2-2 до
P / C / слот = 11 / домен = wdm / порт = 1; / och = 1 @ AEnd = EMS T2000_Rawalpindi_06
Управляемый_Элемент Карачи МРД ПТП
/ Стойки = 1 / полки = 591070 / слот = 11 / домен = WDM @ ZEND = @ SERVICE = ::
%%% EMS_DOMAIN = Передача @ EMS_VENDOR = Huawei @ EMS_REGION = National @ EMS_LOCATION = OFS
Холл, S / Town @ FRIENDLY_NAME = T2000_Rawalpindi_06; КарачиMRD; / стойки = 1 / полки = 1246-KHI MRD 2-2 до
P / C / слот = 11 / домен = WDM / порт = 1; / оч = 1; ETMXS @ NATIVE_CAUSE = SM_BIP8_OVER +++ " "", "Основные"," 8/2/2013
3:51:03
AM " "", "", "", "1", "0", "1", "0", "0", "0", "1", "1", "Передача"," Huawei " "Национальный"," OFS
Холл, S / Town "," T2000_Rawalpindi_06; MRD Карачи; / стойка = 1 / полка = 1246-KHI
От MRD 2-2 до P / C / слот = 11 / домен = wdm / порт = 1; / och "," SM_BIP8_OVER "**
Это данные первых двух строк. Первый из них похож на заголовки хранимых данных, данные во 2-й строке - это фактические данные, представляющие неисправности. Теперь я должен ответить на такие вопросы, как: Сколько неисправностей произошло в конкретном регионе и т. Д.