Apache Parkety - Apache Parquet - Wikipedia
tento článek příliš spoléhá na Reference na primární zdroje.Říjen 2016) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
První vydání | 13. března 2013 |
---|---|
Stabilní uvolnění | 2.8.0 / 13. ledna 2020[1] |
Úložiště | |
Napsáno | Jáva (referenční implementace)[2] |
Operační systém | Cross-platform |
Typ | Sloupově orientovaný DBMS |
Licence | Licence Apache 2.0 |
webová stránka | parkety |
Apache Parkety je zdarma a open-source orientovaný na sloupy formát ukládání dat Apache Hadoop ekosystém. Je to podobné jako u jiných formátů souborů se sloupcovým úložištěm dostupných v Hadoop a to RCFile a ORC. Je kompatibilní s většinou rámců pro zpracování dat v EU Hadoop životní prostředí. Poskytuje efektivní komprese dat a kódování schémata se zvýšeným výkonem pro hromadné zpracování složitých dat.
Dějiny
The open-source projekt výstavby Apache Parquet začal jako společné úsilí mezi Cvrlikání[3] a Cloudera.[4] Parquet byl navržen jako vylepšení sloupcového úložného formátu Trevni vytvořeného tvůrcem Hadoop Doug Cutting. První verze - Apache Parquet 1.0 - byla vydána v červenci 2013. Od 27. dubna 2015 je Apache Parquet špičkovým projektem sponzorovaným Apache Software Foundation (ASF).[5][6]
Funkce
Apache Parquet je implementován pomocí algoritmu skartace záznamů a sestavení,[7] který pojme komplex datové struktury které lze použít k uložení dat.[8] Hodnoty v každém sloupci jsou fyzicky ukládány do souvislých paměťových míst a toto sloupcové úložiště poskytuje následující výhody:[9]
- Sloupcová komprese je efektivní a šetří úložný prostor
- Lze použít techniky komprese specifické pro typ, protože hodnoty sloupců bývají stejného typu
- Dotazy, které načítají konkrétní hodnoty sloupců, nemusí číst data celého řádku, což zlepšuje výkon
- Na různé sloupce lze použít různé techniky kódování
Apache Parquet je implementován pomocí Apache Thrift rámec, který zvyšuje jeho flexibilitu; může pracovat s řadou programovacích jazyků, jako je C ++, Jáva, Krajta, PHP, atd.[10]
Jak srpna 2015,[11] Parquet podporuje rámce pro zpracování velkých dat včetně Apache Hive, Apache Drill, Apache Impala, Apache Crunch, Apache Pig, Kaskádové, rychle a Apache Spark.
Komprese a kódování
V Parquet se komprese provádí sloupec po sloupci, což umožňuje použití různých schémat kódování pro textová a celočíselná data. Tato strategie také udržuje dveře otevřené pro novější a lepší schémata kódování, které mají být implementovány tak, jak jsou vynalezeny.
Kódování slovníku
Parquet má automatické dynamické kódování slovníku povolené pro data s malý počet jedinečných hodnot (tj. pod 105), který umožňuje výraznou kompresi a zvyšuje rychlost zpracování.[12]
Balení bitů
Ukládání celých čísel se obvykle provádí pomocí vyhrazených 32 nebo 64 bitů na celé číslo. U malých celých čísel zabalení více celých čísel do stejného prostoru zefektivňuje úložiště.[12]
Run-length encoding (RLE)
K optimalizaci úložiště více výskytů stejné hodnoty je jednou uložena jedna hodnota spolu s počtem výskytů.[12]
Parquet implementuje hybrid bitového balení a RLE, ve kterém kódovací přepínače založené na tom produkují nejlepší výsledky komprese. Tato strategie funguje dobře pro určité typy celočíselných dat a dobře se kombinuje s kódováním slovníku.[12]
Srovnání
Apache Parquet je srovnatelný s RCFile a Optimalizovaný sloupcový řádek (ORC) formáty souborů - všechny tři spadají do kategorie sloupcového ukládání dat v rámci ekosystému Hadoop. Všechny mají lepší kompresi a kódování se zlepšeným výkonem čtení za cenu pomalejších zápisů. Kromě těchto funkcí podporuje Apache Parquet omezené možnosti vývoj schématu, tj. schéma lze upravit podle změn v datech. Poskytuje také možnost přidávat nové sloupce a slučovat schémata, která nejsou v konfliktu.
Viz také
- Prase (programovací nástroj)
- Apache Hive
- Apache Impala
- Apache Drill
- Apache Kudu
- Apache Spark
- Apache Thrift
- Presto (SQL dotazovací stroj)
Reference
- ^ „Vydání Github“. Citováno 26. března 2020.
- ^ „Zdrojový kód Parquet-MR“. Citováno 2. července 2019.
- ^ "Datum vydání".
- ^ „Představujeme parkety: efektivní sloupové úložiště pro Apache Hadoop - blog Cloudera Engineering“. 2013-03-13. Archivovány od originál dne 04.05.2013. Citováno 2018-10-22.
- ^ http://www.infoworld.com/article/2915565/big-data/apache-parquet-paves-the-way-towards-better-hadoop-data-storage.html
- ^ https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces75
- ^ „Algoritmy prokládání a sestavování z papíru společnosti Dremel inspirovaného Googlem“. github. Citováno 13. listopadu 2017.
- ^ „Dokumentace k parketům Apache“.
- ^ „Apache Parquet Cloudera“.
- ^ "Apache Thrift".
- ^ „Podporované rámce“.
- ^ A b C d „Oznámení Parquet 1.0: Sloupcové úložiště pro Hadoop | Blogy na Twitteru“. blog.twitter.com. Citováno 2016-09-14.