гурӯҳ
Чаро форматҳои гуногуни файл лозиманд?
Монеаи асосии кор барои барномаҳои HDFS ба монанди MapReduce ва Spark вақти ҷустуҷӯ, хондан ва навиштани маълумот мебошад. Ин мушкилот бо мушкилии идоракунии маҷмӯи додаҳои калон, агар мо схемаи таҳаввулшаванда дошта бошем, на як схемаи собит, ё агар баъзе маҳдудиятҳои нигоҳдорӣ вуҷуд дошта бошанд.
Коркарди маълумоти калон сарбориро ба зерсистемаи нигаҳдорӣ зиёд мекунад - Hadoop барои ноил шудан ба таҳаммулпазирии хато маълумотро ба таври зиёдатӣ нигоҳ медорад. Ба гайр аз дискхо протсессор, шабака, системаи дохилкуни/баромад ва гайра бор карда мешаванд. Баробари афзудани хачми маълумот харочоти коркард ва нигох доштани он зиёд мешавад.
Форматҳои гуногуни файл дар
- Вақти хондан зудтар.
- Вақти сабти тезтар.
- Файлҳои муштарак.
- Дастгирии эволютсияи схема.
- Дастгирии васеъшудаи фишурдасозӣ.
Баъзе форматҳои файл барои истифодаи умумӣ пешбинӣ шудаанд, дигарон барои истифодаи мушаххастар ва баъзеҳо барои қонеъ кардани хусусиятҳои мушаххаси додаҳо тарҳрезӣ шудаанд. Пас, интихоб дар ҳақиқат хеле калон аст.
Формати файли Avro
барои силсилаи маълумот Авро васеъ истифода мешавад - он сатр асос ёфтааст, яъне формати нигоҳдории маълумот дар Hadoop. Он схемаро дар формати JSON нигоҳ медорад, ки хондан ва тафсири ҳама гуна барномаҳоро осон мекунад. Худи маълумот дар формати дуӣ, паймон ва самаранок аст.
Системаи сериализатсияи Avro забони бетараф аст. Файлҳоро метавон бо забонҳои гуногун коркард кард, айни замон C, C++, C#, Java, Python ва Ruby.
Хусусияти асосии Avro ин дастгирии устувори схемаҳои додаҳост, ки бо мурури замон тағир меёбанд, яъне таҳаввул мешаванд. Авро тағироти схемаро мефаҳмад - нест кардан, илова кардан ё тағир додани майдонҳо.
Avro сохторҳои гуногуни маълумотро дастгирӣ мекунад. Масалан, шумо метавонед сабтеро эҷод кунед, ки дорои массив, навъи номбаршуда ва зерсабт мебошад.
Ин формат барои навиштан ба минтақаи фуруд (гузариш)-и кӯли додаҳо (
Ҳамин тавр, ин формат барои навиштан ба минтақаи фурудгоҳи кӯли маълумот бо сабабҳои зерин мувофиқ аст:
- Маълумот аз ин минтақа одатан барои коркарди минбаъда аз ҷониби системаҳои поёноб пурра хонда мешавад - ва формати сатр дар ин ҳолат самараноктар аст.
- Системаҳои поёноб метавонанд ҷадвалҳои схемаро аз файлҳо ба осонӣ дарёфт кунанд - лозим нест, ки схемаҳоро дар нигаҳдории мета беруна алоҳида нигоҳ доред.
- Ҳама гуна тағирот ба схемаи аслӣ ба осонӣ коркард карда мешавад (эволютсияи схема).
Формати файли паркет
Паркет формати файли кушодаасос барои Hadoop мебошад, ки нигоҳ медорад сохторҳои маълумот дар формати сутуни ҳамвор.
Дар муқоиса бо усули анъанавии қатор, Паркет аз ҷиҳати нигоҳдорӣ ва иҷроиш самараноктар аст.
Ин махсусан барои дархостҳое муфид аст, ки сутунҳои мушаххасро аз ҷадвали васеъ (сутунҳои зиёд) мехонанд. Ба шарофати формати файл, танҳо сутунҳои зарурӣ хонда мешаванд, бинобар ин, воридот ба ҳадди ақал нигоҳ дошта мешавад.
Тафсири хурд ва шарҳ: Барои беҳтар фаҳмидани формати файли Паркет дар Hadoop, биёед бубинем, ки формати сутунӣ, яъне сутунӣ чист. Ин формат арзишҳои шабеҳро барои ҳар як сутун якҷоя нигоҳ медорад.
ID
ном
Департамент
1
эм1
d1
2
эм2
d2
3
эм3
d3
Дар формати сатр маълумот ба таври зерин захира карда мешавад:
1
эм1
d1
2
эм2
d2
3
эм3
d3
Дар формати файли сутунӣ, ҳамон маълумот чунин захира карда мешавад:
1
2
3
эм1
эм2
эм3
d1
d2
d3
Формати сутунӣ ҳангоми дархост кардани сутунҳои сершумор аз ҷадвал самараноктар аст. Он танҳо сутунҳои заруриро мехонад, зеро онҳо дар ҳамсоя ҳастанд. Бо ин роҳ, амалиёти воридотӣ ба ҳадди ақал нигоҳ дошта мешавад.
Масалан, ба шумо танҳо сутуни NAME лозим аст. ДАР
Ҳамин тариқ, формати сутунӣ иҷрои дархостҳоро беҳтар мекунад, зеро он барои расидан ба сутунҳои зарурӣ вақти камтари ҷустуҷӯро талаб мекунад ва шумораи амалиёти I/O-ро кам мекунад, зеро танҳо сутунҳои дилхоҳ хонда мешаванд.
Яке аз хусусиятҳои беназир
Барои фаҳмидани формати файли Паркет дар Hadoop, шумо бояд шартҳои зеринро донед:
- Гурӯҳи сатрҳо (гурӯҳи сатр): тақсимоти мантиқии уфуқии маълумот ба сатрҳо. Гурӯҳи сатр аз порчаи ҳар як сутуни маҷмӯи додаҳо иборат аст.
- Фрагменти сутун (порчаи сутун): порчаи сутуни мушаххас. Ин порчаҳои сутун дар як гурӯҳи мушаххаси сатрҳо зиндагӣ мекунанд ва кафолат дода мешавад, ки дар файл ҳамҷоя бошанд.
- Саҳифа (саҳифа): Порчаҳои сутунҳо ба саҳифаҳое тақсим мешаванд, ки паси дигар навишта мешаванд. Саҳифаҳо сарлавҳаи умумӣ доранд, бинобар ин шумо метавонед ҳангоми хондан аз саҳифаҳои нодаркор гузаред.
Дар ин ҷо унвон танҳо рақами ҷодугарро дар бар мегирад PAR1 (4 байт), ки файлро ҳамчун файли Паркет муайян мекунад.
Дар поён гуфта мешавад:
- Метамаълумоти файл, ки координатҳои ибтидоии ҳар як сутунро дар бар мегирад. Ҳангоми хондан, шумо бояд аввал метамаълумоти файлро хонед, то ҳамаи порчаҳои сутуни мавриди таваҷҷӯҳро пайдо кунед. Сипас қисмҳои сутун бояд пайдарпай хонда шаванд. Дигар метамаълумотҳо версияи формат, схема ва ҳама ҷуфтҳои иловагии калид-арзишро дар бар мегиранд.
- Дарозии метамаълумот (4 байт).
- Рақами ҷодугарӣ PAR1 (4 байт).
Формати файли ORC
Формати файли сатр-сутуни оптимизатсияшуда (Сутуни сатри оптимизатсияшуда,
Афзалиятҳои формати ORC:
- Як файл баромади ҳар як вазифа аст, ки сарбориро дар NameNode (гиреҳи ном) кам мекунад.
- Дастгирии намудҳои додаҳои Hive, аз ҷумла DateTime, намудҳои даҳӣ ва мураккаби додаҳо (сохтор, рӯйхат, харита ва иттифоқ).
- Хониши ҳамзамон як файл аз ҷониби равандҳои гуногуни RecordReader.
- Имконияти тақсим кардани файлҳо бе скан кардани нишонаҳо.
- Арзёбии ҳадди имкон тақсимоти хотираи теппа барои равандҳои хондан/навиштан дар асоси маълумот дар поёни файл.
- Метамаълумот дар формати сериализатсияи дуии Protocol Buffers нигоҳ дошта мешавад, ки имкон медиҳад майдонҳо илова ва хориҷ карда шаванд.
ORC маҷмӯаҳои сатрҳоро дар як файл нигоҳ медорад ва дар дохили коллексия маълумоти сатр дар формати сутунӣ нигоҳ дошта мешавад.
Файли ORC гурӯҳҳои сатрҳоро, ки рахҳо ном доранд ва иттилооти дастгирӣро дар поёни файл нигоҳ медорад. Postscript дар охири файл параметрҳои фишурдашавӣ ва андозаи поёни фишурдашударо дар бар мегирад.
Андозаи рахи пешфарз 250 МБ аст. Ба шарофати чунин рахҳои калон, хондан аз HDFS самараноктар иҷро карда мешавад: дар блокҳои калони ҳамҷоя.
Поёни файл рӯйхати хатҳоро дар файл, шумораи сатрҳо дар як сатр ва навъи маълумоти ҳар як сутунро сабт мекунад. Дар он ҷо арзиши натиҷавии ҳисоб, мин, макс ва маблағи ҳар як сутун низ навишта мешавад.
Поёнтар аз сатр феҳристи маконҳои ҷараёнро дар бар мегирад.
Ҳангоми сканкунии ҷадвалҳо маълумотҳои сатр истифода мешаванд.
Маълумоти индекс арзишҳои ҳадди ақал ва ҳадди аксарро барои ҳар як сутун ва мавқеи сатрҳо дар ҳар як сутун дар бар мегирад. Индексҳои ORC танҳо барои интихоби сатрҳо ва гурӯҳҳои сатр истифода мешаванд, на барои посух додан ба дархостҳо.
Муқоисаи форматҳои гуногуни файл
Авро нисбат ба Паркет
- Avro формати нигоҳдории сатр аст, дар ҳоле ки Паркет маълумотро дар сутунҳо нигоҳ медорад.
- Паркет барои дархостҳои таҳлилӣ беҳтар мувофиқ аст, яъне амалиёти хониш ва дархости маълумот нисбат ба навиштан хеле самараноктар аст.
- Амалиётҳои навиштан дар Авро нисбат ба Паркет самараноктар иҷро карда мешаванд.
- Авро бо эволютсияи схемаҳо баркамолтар сарукор дорад. Паркет танҳо илова кардани схемаро дастгирӣ мекунад, дар ҳоле ки Avro таҳаввулоти бисёрфунксионалӣ, яъне илова кардан ё тағир додани сутунҳоро дастгирӣ мекунад.
- Паркет барои пурсиши зермаҷмӯи сутунҳо дар ҷадвали бисёрсутунӣ беҳтарин аст. Avro барои амалиёти ETL мувофиқ аст, ки мо ҳама сутунҳоро дархост мекунем.
ORC против Паркет
- Паркет маълумоти лонаро беҳтар нигоҳ медорад.
- ORC барои пешгӯии фишор беҳтар мувофиқ аст.
- ORC хосиятҳои ACID-ро дастгирӣ мекунад.
- ORC маълумотро беҳтар фишурда мекунад.
Дар ин мавзӯъ боз чӣ хондан лозим аст:
Таҳлили маълумоти калон дар абр: чӣ гуна ширкат метавонад ба маълумот нигаронида шавад .Дастури фурӯтан барои схемаҳои пойгоҳи додаҳо .Канали телеграми мо дар бораи трансформатсияи рақамӣ .
Манбаъ: will.com