Rozdíl mezi Apache Pig a Apache Hive
Příběh Apache Pig začíná v roce 2006, kdy badatel jako Yahoo bojoval s Java kódy MapReduce. Bylo obtížné znovu použít a udržovat kód pro kompilaci. Zároveň zjistili, že uživatelé MapReduce nebyli spokojeni s deklarativními jazyky, jako je SQL. Začali pracovat na novém jazyce, který měl zapadnout do sladkého místa mezi deklarativním stylem SQL, nízkoúrovňovým a procedurálním stylem MapReduce. To mělo za následek zrození Pig a první vydání Pig přišlo v září 2008 a do konce roku 2009 asi polovina pracovních míst v Yahoo byla Pig pracovních míst.
Příběh Apache Hive začíná v roce 2007, kdy se jiný než Java Programátor musí potýkat s používáním Hadoop MapReduce. IT profesionál z databázového prostředí čelil výzvám při práci na Hadoop Cluster. Zpočátku vědci pracující na Facebooku přišli s jazykem Hive. Tento jazyk byl velmi podobný jazyku SQL. Jazyk se tedy jmenoval Hive Query Language (HQL) a později se stal projektem open source Apache Community. Poté, co se stal projektem Apache Community, došlo k významnému vývoji v Apache Hive. Facebook byl první společností, která přišla s Apache Hive.
Dovolte mi podrobněji vysvětlit Apache Pig vs. Apache Hive.
Představujeme Apache Pig vs Apache Hive
Apache Pig je platforma pro analýzu velkých datových souborů, která se skládá z jazyka na vysoké úrovni pro vyjádření programů pro analýzu dat, spojeného s infrastrukturou pro hodnocení těchto programů. Apache je open source projekt Apache Community. Apache Pig poskytuje jednoduchý jazyk nazvaný Pig Latin, pro dotazy a manipulaci s daty.
Prase využívají společnosti jako Yahoo, Google a Microsoft pro shromažďování obrovského množství datových souborů ve formě toků kliknutí, protokolů vyhledávání a procházení webu.
- Apache Pig poskytuje vnořené datové typy jako Mapy, Tuples a Bags
- Apache Pig Sleduje přístup založený na více dotazech, aby se zabránilo vícenásobným skenům datových sad.
- Programátoři obeznámení se skriptovacím jazykem preferují Apache Pig
- Prase je snadné, pokud si dobře uvědomujete SQL
- Pro práci na Apache Pig není třeba vytvářet schéma
- Prase také poskytuje podporu pro hlavní datové operace, jako je objednávka, filtry a připojení
- Framework Apache Pig převádí latinu prasete do sekvencí programů MapReduce
Software Apache Hive pro datový sklad usnadňuje čtení, zápis a správu rozsáhlých datových sad umístěných v distribuovaném úložišti pomocí SQL. Apache Hive je open-source projekt Apache postavený na Hadoopu pro dotazování, sumarizaci a analýzu velkých datových sad pomocí rozhraní typu SQL. Úl Apache poskytuje jazyk podobný SQL nazvaný HiveQL, který transparentně převádí dotazy na MapReduce pro provádění na velkých souborech dat uložených v distribuovaném systému souborů Hadoop (HDFS).
- Apache Hive je infrastruktura datového skladu.
- Apache Hive je nástroj ETL (Extraction-Transformation-Loading)
- Úl Apache je podobný SQL
- Apache Hive umožňuje přizpůsobené mapovače a redukce
- Apache Hive zvyšuje flexibilitu návrhu schématu pomocí serializace a deserializace dat
- Úl Apache je analytický nástroj
Srovnání mezi hlavami mezi Apache Pig a Apache Hive (Infographics):
Klíčové rozdíly mezi Apache Pig a Apache Hive:
- Apache Pig porovnává Apache Hive rychleji
- Apache Pig a Apache Hive oba běží na Hadoop MapReduce
- Apache Pig je nejlepší pro strukturované a polostrukturované, zatímco Apache Hive je nejlepší pro strukturovaná data
- Apache Pig je procedurální jazyk, zatímco Apache Hive je deklarativní jazyk
- Apache Pig podporuje funkci cogroup pro vnější spojení, zatímco Apache Hive nepodporuje
- Apache Pig nemá předdefinovanou databázi pro ukládání tabulky / schématu, zatímco Apache Hive má předdefinované tabulky / schéma a ukládá své informace do databáze.
- Apache Pig je také vhodný pro komplexní a vnořenou strukturu dat, zatímco Apache Hive je méně vhodný pro komplexní data
- Vědci a programátoři používají Apache prase, zatímco Data Analysts používají Apache Hive
Kdy použít Apache Pig:
- Když jste programátor a znáte skriptovací jazyk
- Pokud při načítání nechcete vytvořit schéma
- Požadavky ETL
- Když pracujete na klientské straně klastru Hadoop
- Když pracujete na formátu souboru Avro Hadoop
Kdy použít Apache Hive:
- Požadavky na skladování dat
- Analytické dotazy historických dat
- Analýza dat, kteří jsou obeznámeni s SQL
- Při práci na strukturovaných datech
- Podle analytiků dat
- Vizualizovat a vytvářet zprávy
Srovnávací tabulka Apache Pig vs. Apache Hive
Diskutuji o hlavních artefaktech a rozlišuji mezi Apache Pig a Apache Hive.
Apache Pig | Úl Apache | |
Zpracování dat | Apache Pig je jazyk datových toků na vysoké úrovni | Apache Hive se používá pro dávkové zpracování, tj. Online analytické zpracování (OLAP) |
Rychlost zpracování | Apache Pig má vyšší latenci kvůli provádění úlohy MapReduce na pozadí | Apache Hive má také vyšší latenci kvůli provádění úlohy MapReduce na pozadí |
Kompatibilita s Hadoop | Apache Pig běží na MapReduce | Apache Hive také běží na MapReduce |
Definice | Apache Pig je systém s otevřeným zdrojem dat na vysoké úrovni, který vám poskytuje jednoduchou jazykovou platformu známou jako prasečí latina, kterou lze použít pro manipulaci s daty a dotazy. | Apache Hive je open source a podobný SQL používanému pro analytické dotazy |
Použitý jazyk | Apache Pig používá procedurální jazyk toku dat nazvaný Pig Latin | Apache Hive používá deklarativní jazyk zvaný HiveQL |
Schéma | Apache Pig nemá koncept schématu. Data můžete ukládat do aliasu. | Úl Apache podporuje schéma pro vkládání dat do tabulek |
Webové rozhraní | Apache Pig nepodporuje webové rozhraní | Apache Hive podporuje webové rozhraní |
Operace | Apache Pig se používá pro strukturovaná a polostrukturovaná data | Apache Hive se používá pro strukturovaná data. |
Specifikace uživatele | Apache Pig používají výzkumní pracovníci a programátoři | Apache Hive používá Data Analyst |
Pracuje zapnuto | Apache Pig pracuje na straně klienta clusteru | Úl Apache Funguje na straně serveru Clusteru |
Metody rozdělení | V Apache Pig neexistuje pojem Partition | Apache Hive podporuje funkce Sharding |
Formát souboru | Apache Pig Podporuje formát souboru Avro | Úl Apache přímo nepodporuje formát Avro, ale může podporovat pomocí “org.apache.hadoop.hive.serde2.avro” |
JDBC / ODBC | Apache Pig nepodporuje | Podpory úlu Apache jsou omezené |
Ladění | Je snadné ladit Pig skripty | Můžeme ladit, ale je to trochu složité |
Závěr - Mezi Apache Pig vs Apache Hive:
Apache Pig a Apache Hive, oba se běžně používají v clusteru Hadoop. Apache Pig a Apache Hive jsou výkonným nástrojem pro analýzu dat a ETL. Apache Pig a Apache Hive se většinou používají v produkčním prostředí. Uživatel musí vybrat nástroj na základě datových typů a očekávaného výstupu. Oba nástroje poskytují jedinečný způsob analýzy velkých dat v clusteru Hadoop. Na základě výše uvedené diskuse si uživatel může vybrat mezi Apache Pig a Apache Hive podle svých požadavků.
Doporučený článek
Toto byl průvodce Apache Pig vs. Apache Hive, jejich význam, Head to Head Srovnání, Key Difference, srovnávací tabulka a Závěr. Další informace naleznete také v následujících článcích -
- Hadoop developerský rozhovor Otázky
- Hadoop vs Hive
- Jak rozbít rozhovor s vývojářem Hadoop?
- Apache Hive vs. Apache HBase
- Apache Hadoop vs Apache Spark