{"id":84416,"date":"2020-06-07T13:42:50","date_gmt":"2020-06-07T11:42:50","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez"},"modified":"2020-06-07T13:42:50","modified_gmt":"2020-06-07T11:42:50","slug":"formaty-fajlov-v-bolshih-dannyh-kratkij-likbez","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez","title":{"rendered":"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr\" src=\"\/wp-content\/uploads\/2020\/06\/c909979e0474bc6a1f7234cd88167220.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.deviantart.com\/remarin\/art\/Weather-Deity-743892889\"><i>Zoti i Motit nga Remarin<\/i><\/a><\/noindex> <\/p>\n<p>Ekipa <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\">Mail.ru Cloud Solutions<\/a><\/noindex> ofron <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.clairvoyantsoft.com\/big-data-file-formats-3fb659903271\">p\u00ebrkthimi i artikullit<\/a><\/noindex> i inxhinierit Rahul Bhatia nga kompania Clairvoyant mbi format e skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha, funksionet m\u00eb t\u00eb zakonshme t\u00eb formateve Hadoop dhe cilin format \u00ebsht\u00eb m\u00eb i mir\u00eb p\u00ebr t'u p\u00ebrdorur.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pse na nevojiten formate t\u00eb ndryshme skedar\u00ebsh<\/h2>\n<p>\nNj\u00eb pik\u00eb e r\u00ebnd\u00ebsishme e ngadal\u00ebsimit n\u00eb performanc\u00ebn e aplikacioneve q\u00eb mb\u00ebshtesin HDFS, si MapReduce dhe Spark, \u00ebsht\u00eb koha e k\u00ebrkimit, leximit dhe shkrimit t\u00eb t\u00eb dh\u00ebnave. K\u00ebto probleme p\u00ebrkeq\u00ebsohen nga v\u00ebshtir\u00ebsit\u00eb n\u00eb menaxhimin e grupeve t\u00eb m\u00ebdha t\u00eb t\u00eb dh\u00ebnave, n\u00ebse kemi nj\u00eb skem\u00eb t\u00eb evolucionit t\u00eb saj, ose jan\u00eb t\u00eb pranishme disa kufizime mbi ruajtjen.<\/p>\n<p>P\u00ebrpunimi i t\u00eb dh\u00ebnave t\u00eb m\u00ebdha rrit ngarkes\u00ebn mbi subsistemin e ruajtjes \u2014 Hadoop ruan t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb tep\u00ebrt p\u00ebr t\u00eb arritur q\u00ebndrueshm\u00ebrin\u00eb. P\u00ebrve\u00e7 disqeve, ngarkohen procesori, rrjeti, sistemi i hyrjes-daljes dhe k\u00ebshtu me radh\u00eb. Nd\u00ebrsa rritet volumi i t\u00eb dh\u00ebnave, rritet gjithashtu kostoja e p\u00ebrpunimit dhe ruajtjes s\u00eb tyre.<\/p>\n<p>Format e ndryshme t\u00eb skedar\u00ebve n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/zachem-nuzhen-hadoop\">Hadoop<\/a><\/noindex> jan\u00eb krijuar p\u00ebr t\u00eb adresuar k\u00ebto \u00e7\u00ebshtje. Zgjedhja e formatit t\u00eb duhur t\u00eb skedar\u00ebve mund t\u00eb sjell\u00eb disa avantazhe t\u00eb r\u00ebnd\u00ebsishme:<\/p>\n<ol>\n<li>Koha m\u00eb e shpejt\u00eb e leximit.<\/li>\n<li>Koha m\u00eb e shpejt\u00eb e shkrimit.<\/li>\n<li>Skedar\u00eb t\u00eb ndash\u00ebm.<\/li>\n<li>Mb\u00ebshtetje p\u00ebr evolucionin e skemave.<\/li>\n<li>Mb\u00ebshtetje e avancuar p\u00ebr kompresim.<\/li>\n<\/ol>\n<p>\nDisa formate skedar\u00ebsh jan\u00eb t\u00eb destinuara p\u00ebr p\u00ebrdorim t\u00eb p\u00ebrgjithsh\u00ebm, t\u00eb tjera p\u00ebr variante t\u00eb m\u00eb specifikuara, dhe disa jan\u00eb t\u00eb dizajnuara me karakteristika t\u00eb caktuara t\u00eb t\u00eb dh\u00ebnave n\u00eb mendje. Pra, zgjedhja \u00ebsht\u00eb t\u00eb v\u00ebrtet\u00eb mjaft e madhe.<\/p>\n<h2>Formati i skedar\u00ebve Avro<\/h2>\n<p>\nP\u00ebr <i>p\u00ebr serializimin e t\u00eb dh\u00ebnave <\/i>shum\u00eb p\u00ebrdorin Avro \u2014 ky \u00ebsht\u00eb <i>format i bazuar n\u00eb stringje<\/i>, pra formati me stringje, p\u00ebr ruajtjen e t\u00eb dh\u00ebnave n\u00eb Hadoop. Ai ruan skem\u00ebn n\u00eb formatin JSON, duke e leht\u00ebsuar leximin dhe interpretimin e saj nga \u00e7do program. T\u00eb dh\u00ebnat vet\u00eb jan\u00eb n\u00eb formatin binar, kompakt dhe efikas.<\/p>\n<p>Sistemi i serializimit Avro \u00ebsht\u00eb neutral ndaj gjuh\u00ebve. Skedar\u00ebt mund t\u00eb p\u00ebrpunohen nga gjuh\u00eb t\u00eb ndryshme, p\u00ebr momentin k\u00ebto jan\u00eb C, C++, C#, Java, Python dhe Ruby.<\/p>\n<p>Nj\u00eb karakteristik\u00eb ky\u00e7e e Avro \u00ebsht\u00eb mb\u00ebshtetje e besueshme p\u00ebr skema t\u00eb t\u00eb dh\u00ebnave q\u00eb ndryshojn\u00eb me kalimin e koh\u00ebs, pra evolucionin e tyre. Avro kupton ndryshimet n\u00eb skem\u00eb \u2014 fshirja, shtimi ose ndryshimi i fushave.<\/p>\n<p>Avro mb\u00ebshtet struktura t\u00eb ndryshme t\u00eb t\u00eb dh\u00ebnave. P\u00ebr shembull, mund t\u00eb krijoni nj\u00eb rekord q\u00eb p\u00ebrmban nj\u00eb pjes\u00eb, lloj enumerues dhe nj\u00eb n\u00ebn-rekord.<\/p>\n<p><img decoding=\"async\" alt=\"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr\" src=\"\/wp-content\/uploads\/2020\/06\/9bf044329ac0980a48a125c505dee265.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKy ky format \u00ebsht\u00eb perfekt p\u00ebr regjistrimin n\u00eb zon\u00ebn e uljes (kalimi) t\u00eb liqenit t\u00eb t\u00eb dh\u00ebnave (<noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/chto-takoe-ozera-dannyh-i-zachem-tam-hranyat-big-data\">liqeni i t\u00eb dh\u00ebnave<\/a><\/noindex>, ose data lake \u2014 nj\u00eb koleksion instancash p\u00ebr ruajtjen e llojeve t\u00eb ndryshme t\u00eb t\u00eb dh\u00ebnave p\u00ebrve\u00e7 burimeve t\u00eb dh\u00ebnash direkt). <\/p>\n<p>Pra, p\u00ebr regjistrimin n\u00eb zon\u00ebn e uljes t\u00eb liqenit t\u00eb t\u00eb dh\u00ebnave, ky format \u00ebsht\u00eb m\u00eb i p\u00ebrshtatshmi p\u00ebr arsye t\u00eb m\u00ebposhtme:<\/p>\n<ol>\n<li>T\u00eb dh\u00ebnat nga kjo zon\u00eb zakonisht lexohen t\u00ebr\u00ebsisht p\u00ebr p\u00ebrpunim t\u00eb m\u00ebtejsh\u00ebm nga sistemet posht\u00eb \u2014 dhe formati bazuar n\u00eb rreshta n\u00eb k\u00ebt\u00eb rast \u00ebsht\u00eb m\u00eb efikas.<\/li>\n<li>Sistemet posht\u00eb mund t\u00eb nxjerrin leht\u00ebsisht skemat e tabelave nga skedar\u00ebt \u2014 nuk \u00ebsht\u00eb e nevojshme t\u00eb ruani skemat ndaras n\u00eb nj\u00eb meta-ruajtje t\u00eb jashtme.<\/li>\n<li>\u00c7do ndryshim n\u00eb skem\u00ebn origjinale p\u00ebrpunohen leht\u00ebsisht (evolucioni i skem\u00ebs).<\/li>\n<\/ol>\n<p><\/p>\n<h2>Formati i skedar\u00ebve Parquet<\/h2>\n<p>\nParquet \u00ebsht\u00eb nj\u00eb format skedari me burim t\u00eb hapur p\u00ebr Hadoop, i cili ruan <i>strukturat e t\u00eb dh\u00ebnave t\u00eb mbjella n\u00eb nj\u00eb format t\u00eb thjesht\u00eb kolone<\/i>.<\/p>\n<p>N\u00eb krahasim me qasjen tradicionale n\u00eb rreshta, Parquet \u00ebsht\u00eb m\u00eb efikas n\u00eb aspektin e ruajtjes dhe performanc\u00ebs.<\/p>\n<p>Kjo \u00ebsht\u00eb ve\u00e7an\u00ebrisht e dobishme p\u00ebr pyetje q\u00eb lexojn\u00eb kolona specifike nga nj\u00eb tabel\u00eb t\u00eb gjer\u00eb (me shum\u00eb kolona). Fal\u00eb formatit t\u00eb skedar\u00ebve, lexohen vet\u00ebm kolonat e nevojshme, duke minimizuar hyrjet dhe daljet.<\/p>\n<p><strong>Nj\u00eb sqarim i shkurt\u00ebr<\/strong>: p\u00ebr t\u00eb kuptuar m\u00eb mir\u00eb formatin e skedarit Parquet n\u00eb Hadoop, le t\u00eb shikojm\u00eb \u00e7far\u00eb \u00ebsht\u00eb nj\u00eb format i bazuar n\u00eb kolona \u2014 dometh\u00ebn\u00eb nj\u00eb format kolone. N\u00eb nj\u00eb format t\u00eb till\u00eb ruhen s\u00eb bashku vlera t\u00eb nj\u00ebjt\u00eb p\u00ebr \u00e7do kolon\u00eb. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/netjs.blogspot.com\/\">P\u00ebr shembull<\/a><\/noindex>, regjistrimi p\u00ebrmban fushat ID, Emri dhe Departamenti. N\u00eb k\u00ebt\u00eb rast, t\u00eb gjitha vlerat e kolon\u00ebs ID do t\u00eb ruhen s\u00eb bashku, ashtu si vlerat e kolon\u00ebs Emri e k\u00ebshtu me radh\u00eb. Tabela do t\u00eb duket pak a shum\u00eb k\u00ebshtu:<\/p>\n<p><strong>ID<\/strong><br \/>\n<strong>Emri<\/strong><br \/>\n<strong>Departamenti<\/strong><\/p>\n<p>1<br \/>\nemp1<br \/>\nd1<\/p>\n<p>2<br \/>\nemp2<br \/>\nd2<\/p>\n<p>3<br \/>\nemp3<br \/>\nd3<\/p>\n<p>\nN\u00eb formatin e rreshtit, t\u00eb dh\u00ebnat do t\u00eb ruhen si m\u00eb posht\u00eb:<\/p>\n<p>1<br \/>\nemp1<br \/>\nd1<br \/>\n2<br \/>\nemp2<br \/>\nd2<br \/>\n3<br \/>\nemp3<br \/>\nd3<\/p>\n<p>\nN\u00eb formatin e kolone t\u00eb skedar\u00ebve, t\u00eb nj\u00ebjtat t\u00eb dh\u00ebna do t\u00eb ruhen k\u00ebshtu:<\/p>\n<p>1<br \/>\n2<br \/>\n3<br \/>\nemp1<br \/>\nemp2<br \/>\nemp3<br \/>\nd1<br \/>\nd2<br \/>\nd3<\/p>\n<p>\nFormati kolone \u00ebsht\u00eb m\u00eb efikas kur keni nevoj\u00eb t\u00eb k\u00ebrkoni disa kolona nga tabela. Ai do t\u00eb lexoj\u00eb vet\u00ebm kolonat e nevojshme, sepse ato ndodhen af\u00ebr nj\u00ebra-tjetr\u00ebs. K\u00ebshtu, operacionet e hyrjes dhe daljes minimizohen.<\/p>\n<p>P\u00ebr shembull, ju nevojitet vet\u00ebm kolona EMRI. N\u00eb<noindex><a rel=\"nofollow\" href=\"http:\/\/netjs.blogspot.com\/\"> formatin e rreshtit<\/a><\/noindex> \u00c7do regjistrim n\u00eb grupin e dh\u00ebnave duhet ngarkuar, analizuar sipas fushave dhe pastaj t\u00eb nxirren t\u00eb dh\u00ebnat NAME. Formati kolonar lejon q\u00eb t\u00eb kaloni direkt te kolona Name, pasi t\u00eb gjitha vlerat p\u00ebr k\u00ebt\u00eb kolon\u00eb ruhen s\u00eb bashku. Nuk do t\u00eb jet\u00eb e nevojshme t\u00eb skanoni t\u00eb gjith\u00eb regjistrimin.<\/p>\n<p>K\u00ebshtu, formati kolonor rrit performanc\u00ebn e k\u00ebrkesave, pasi kalimi te kolonat e nevojshme k\u00ebrkon m\u00eb pak koh\u00eb k\u00ebrkimi dhe zvog\u00eblon numrin e operacioneve t\u00eb hyrje-daljeve, duke lexuar vet\u00ebm kolonat e nevojshme.<\/p>\n<p>Nj\u00eb nga ve\u00e7orit\u00eb unike<noindex><a rel=\"nofollow\" href=\"http:\/\/netjs.blogspot.com\/\"> Parquet<\/a><\/noindex> ka t\u00eb b\u00ebj\u00eb me faktin se n\u00eb k\u00ebt\u00eb format ai mund <i>t\u00eb ruaj\u00eb t\u00eb dh\u00ebna me struktura t\u00eb shtrir\u00eb<\/i>. Kjo do t\u00eb thot\u00eb se n\u00eb skedarin Parquet, madje fushat e shtrira mund t\u00eb lexohen ve\u00e7mas pa qen\u00eb nevoja t\u00eb lexoni t\u00eb gjitha fushat n\u00eb struktur\u00ebn e shtrir\u00eb. P\u00ebr ruajtjen e strukturave t\u00eb shtrir\u00eb, Parquet p\u00ebrdor algoritmin e grimcimit dhe montimit (shredding and assembly).<\/p>\n<p><img decoding=\"async\" alt=\"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr\" src=\"\/wp-content\/uploads\/2020\/06\/8cba9a4faccc4bac7c5bbc3eec163a3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00ebr t\u00eb kuptuar formatin e skedarit Parquet n\u00eb Hadoop, duhet t\u00eb dini termat e m\u00ebposht\u00ebm:<\/p>\n<ol>\n<li><strong>Grupi i rreshtave<\/strong> (row group): ndarje logjike horizontale e t\u00eb dh\u00ebnave n\u00eb rreshta. Grupi i rreshtave p\u00ebrb\u00ebhet nga nj\u00eb fragment i \u00e7do kolone n\u00eb grupin e dh\u00ebnave.<\/li>\n<li><strong>Fragmenti i kolon\u00ebs<\/strong> (column chunk): fragmenti i nj\u00eb kolon\u00eb specifike. K\u00ebto fragmente kolonash jetojn\u00eb n\u00eb nj\u00eb grup rreshtash t\u00eb caktuar dhe garantimisht do t\u00eb jen\u00eb ngjitur n\u00eb skedar.<\/li>\n<li><strong>Faqja<\/strong> (page): fragmentet e kolonave ndahen n\u00eb faqe, t\u00eb shkruara nj\u00eb pas tjetr\u00ebs. Faqet kan\u00eb nj\u00eb titull t\u00eb p\u00ebrbashk\u00ebt, k\u00ebshtu q\u00eb kur lexoni, mund t\u00eb kaloni ato t\u00eb pad\u00ebshiruara.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr\" src=\"\/wp-content\/uploads\/2020\/06\/0f3d583bc2f07b6fef8430f10433cc14.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nK\u00ebtu, titulli thjesht p\u00ebrmban numrin magjik <i>PAR1<\/i> (4 byte), i cili identifikon skedarin si nj\u00eb skedar t\u00eb formatit Parquet.<\/p>\n<p>N\u00eb fund \u00ebsht\u00eb shkruar e m\u00ebposhtme:<\/p>\n<ol>\n<li>Meta t\u00eb dh\u00ebnat e skedarit, t\u00eb cilat p\u00ebrmbajn\u00eb koordinatat fillestare t\u00eb meta t\u00eb dh\u00ebnave p\u00ebr \u00e7do kolon\u00eb. Kur lexoni, duhet s\u00eb pari t\u00eb lexoni meta t\u00eb dh\u00ebnat e skedarit p\u00ebr t\u00eb gjetur t\u00eb gjitha fragmentet e kolonave t\u00eb interesit. Pastaj, fragmentet e kolonave duhet t\u00eb lexohen radhazi. Meta t\u00eb dh\u00ebnat p\u00ebrfshijn\u00eb gjithashtu versionin e formatit, skem\u00ebn dhe \u00e7do \u00e7ift shtes\u00eb \u00e7el\u00ebs-vler\u00eb.<\/li>\n<li>Gjat\u00ebsia e meta t\u00eb dh\u00ebnave (4 byte).<\/li>\n<li>Numri magjik <i>PAR1<\/i> (4 byte).<\/li>\n<\/ol>\n<p><\/p>\n<h2>Formati i skedar\u00ebve ORC<\/h2>\n<p>\n<i>Formati i skedar\u00ebve t\u00eb optimizuar rresht-kolon\u00ebs<\/i> (Optimized Row Columnar, <noindex><a rel=\"nofollow\" href=\"https:\/\/orc.apache.org\/\">ORC<\/a><\/noindex>) ofron nj\u00eb m\u00ebnyr\u00eb shum\u00eb efektive p\u00ebr ruajtjen e t\u00eb dh\u00ebnave dhe \u00ebsht\u00eb zhvilluar p\u00ebr t\u00eb tejkaluar kufizimet e formateve t\u00eb tjera. Ruajt t\u00eb dh\u00ebnat n\u00eb nj\u00eb form\u00eb t\u00eb p\u00ebrsosur kompakte, duke lejuar kalimin e detajeve t\u00eb panevojshme \u2014 pa k\u00ebrkuar nd\u00ebrtimin e indekseve t\u00eb m\u00ebdha, t\u00eb komplikuara apo manualisht t\u00eb mbajtura. <\/p>\n<p>P\u00ebrfitimet e formatit ORC:<\/p>\n<ol>\n<li>Nj\u00eb skedar n\u00eb daljen e \u00e7do detyre, q\u00eb redukton ngarkes\u00ebn n\u00eb NameNode (nyja e emrave).<\/li>\n<li>Mb\u00ebshtetje p\u00ebr tipet e t\u00eb dh\u00ebnave Hive, duke p\u00ebrfshir\u00eb DateTime, decimal dhe tipe t\u00eb dh\u00ebnash komplekse (struct, list, map dhe union).<\/li>\n<li>Leximi nj\u00ebkoh\u00ebsisht i t\u00eb nj\u00ebjtit skedar nga procese t\u00eb ndryshme RecordReader.<\/li>\n<li>Mund\u00ebsia p\u00ebr t\u00eb ndar\u00eb skedar\u00ebt pa skanuar p\u00ebr shenja.<\/li>\n<li>Vler\u00ebsimi i ndarjes maksimale t\u00eb mundshme t\u00eb memories heap p\u00ebr proceset e leximit\/shkrimit sipas informacionit n\u00eb fundin e skedarit.<\/li>\n<li>Metadat\u00ebt ruhen n\u00eb formatin binar t\u00eb serializimit Protocol Buffers, q\u00eb lejon shtimin dhe heqjen e fushave.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Formati i skedar\u00ebve n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb p\u00ebrmbledhje e shkurt\u00ebr\" src=\"\/wp-content\/uploads\/2020\/06\/342a51df1730398d5280484407461d8c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nORC ruan koleksionet e rreshtave n\u00eb nj\u00eb skedar, nd\u00ebrsa brenda koleksionit, t\u00eb dh\u00ebnat rreshtore ruhen n\u00eb formatin kolonor.<\/p>\n<p>Skedari ORC ruan grupe rreshtash, q\u00eb quhen stripes, dhe informacion t\u00eb ndihm\u00ebs n\u00eb fundin e skedarit. Postscript n\u00eb fund t\u00eb skedarit p\u00ebrmban parametrat e kompresimit dhe madh\u00ebsin\u00eb e fundin t\u00eb kompresuar.<\/p>\n<p>P\u00ebr default, madh\u00ebsia e stripe \u00ebsht\u00eb 250 MB. P\u00ebrmes stripe-ve t\u00eb k\u00ebtij madh\u00ebsi t\u00eb madhe, leximi nga HDFS kryhet m\u00eb efektivisht: me blloqe t\u00eb m\u00ebdha t\u00eb pand\u00ebrprera.<\/p>\n<p>N\u00eb fundin e skedarit \u00ebsht\u00eb e regjistruar nj\u00eb list\u00eb stripe n\u00eb skedar, numri i rreshtave p\u00ebr stripe dhe tipi i t\u00eb dh\u00ebnave p\u00ebr \u00e7do kolon\u00eb. Aty gjithashtu regjistrohet vlera rezultante count, min, max dhe sum p\u00ebr \u00e7do kolon\u00eb.<\/p>\n<p>Fundi i stripe p\u00ebrmban nj\u00eb katalog vendndodhjesh t\u00eb fluxit.<\/p>\n<p>T\u00eb dh\u00ebnat rreshtore p\u00ebrdoren gjat\u00eb skanimit t\u00eb tabelave.<\/p>\n<p>T\u00eb dh\u00ebnat e indeksit p\u00ebrfshijn\u00eb vlerat minimale dhe maksimale p\u00ebr \u00e7do kolon\u00eb dhe pozitat e rreshtave n\u00eb \u00e7do kolon\u00eb. Indekset ORC p\u00ebrdoren vet\u00ebm p\u00ebr selektimin e stripe-ve dhe grupeve t\u00eb rreshtave, dhe jo p\u00ebr t\u00eb p\u00ebrgjigjur k\u00ebrkesave.<\/p>\n<h2>Krahasimi i formateve t\u00eb ndryshme t\u00eb skedar\u00ebve<\/h2>\n<p><\/p>\n<h3>Avro krahasuar me Parquet<\/h3>\n<p><\/p>\n<ol>\n<li>Avro \u00ebsht\u00eb nj\u00eb format ruajtjeje sipas rreshtave, nd\u00ebrsa Parquet ruan t\u00eb dh\u00ebnat sipas kolonave.<\/li>\n<li>Parquet \u00ebsht\u00eb m\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr k\u00ebrkesat analitike, q\u00eb do t\u00eb thot\u00eb se operacionet e leximit dhe k\u00ebrkes\u00ebs p\u00ebr t\u00eb dh\u00ebna jan\u00eb shum\u00eb m\u00eb efektive se sa shkrimi.<\/li>\n<li>Operacionet e shkrimit n\u00eb Avro kryhen m\u00eb efektivisht se n\u00eb Parquet.<\/li>\n<li>Avro funksionon m\u00eb matur me evolucionin e skemave. Parquet mb\u00ebshtet vet\u00ebm shtimin e skem\u00ebs, nd\u00ebrsa Avro ka implementuar nj\u00eb evolucion multifunksional, q\u00eb do t\u00eb thot\u00eb shtimin ose ndryshimin e kolonave.<\/li>\n<li>Parquet \u00ebsht\u00eb ideal p\u00ebr t\u00eb k\u00ebrkuar nj\u00eb n\u00ebngrup kolonash n\u00eb nj\u00eb tabel\u00eb me shum\u00eb kolona. Avro \u00ebsht\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr operacionet ETL, ku ne k\u00ebrkojm\u00eb t\u00eb gjitha kolonat.<\/li>\n<\/ol>\n<p><\/p>\n<h3>ORC krahasuar me Parquet<\/h3>\n<p><\/p>\n<ol>\n<li>Parquet ruan m\u00eb mir\u00eb t\u00eb dh\u00ebnat e emtuara.<\/li>\n<li>ORC \u00ebsht\u00eb m\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr shtimin e predikateve.<\/li>\n<li>ORC mb\u00ebshtet pronat ACID.<\/li>\n<li>ORC kompreson m\u00eb mir\u00eb t\u00eb dh\u00ebnat.<\/li>\n<\/ol>\n<p>\n<strong>\u00c7far\u00eb tjet\u00ebr t\u00eb lexoni mbi k\u00ebt\u00eb tem\u00eb<\/strong>:<\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/analiz-bolshih-dannyh-v-oblake\">Analiza e t\u00eb dh\u00ebnave t\u00eb m\u00ebdha n\u00eb \u043e\u0431\u043b\u0430\u043a: si t\u00eb b\u00ebhen kompanit\u00eb t\u00eb orientuara nga t\u00eb dh\u00ebnat<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/501598\/\">Nj\u00eb udh\u00ebzues modest p\u00ebr skemat e bazave t\u00eb t\u00eb dh\u00ebnave<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/tele.click\/zavtra_oblachno\">Kanalin ton\u00eb n\u00eb Telegram p\u00ebr transformimin digjital<\/a><\/noindex>. \n<\/li>\n<\/ol>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/504952\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Weather Deity by Remarin \u041a\u043e\u043c\u0430\u043d\u0434\u0430 Mail.ru Cloud Solutions \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430 \u0420\u0430\u0445\u0443\u043b\u0430 \u0411\u0445\u0430\u0442\u0438\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Clairvoyant \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u0430\u043a\u0438\u0435 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 Hadoop \u0438 \u043a\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u044b \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432 \u0421\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0435 \u0443\u0437\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 HDFS, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a MapReduce \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84417,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84416","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0424\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043b\u0438\u043a\u0431\u0435\u0437 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-07T11:42:50+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-07T11:42:50+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Formate skedar\u00ebsh n\u00eb t\u00eb dh\u00ebnat e m\u00ebdha: nj\u00eb shpjegim i shkurt\u00ebr | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0424\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043b\u0438\u043a\u0431\u0435\u0437 | ProHoster","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/formaty-fajlov-v-bolshih-dannyh-kratkij-likbez","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-07T11:42:50+00:00","article:modified_time":"2020-06-07T11:42:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84416","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:58:40","updated":"2022-09-28 08:24:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/84416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=84416"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/84416\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/84417"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=84416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=84416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=84416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}