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í datApache Pig je jazyk datových toků na vysoké úrovniApache 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 HadoopApache Pig běží na MapReduceApache Hive také běží na MapReduce
DefiniceApache 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ý jazykApache Pig používá procedurální jazyk toku dat nazvaný Pig LatinApache Hive používá deklarativní jazyk zvaný HiveQL
SchémaApache 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í
OperaceApache Pig se používá pro strukturovaná a polostrukturovaná dataApache Hive se používá pro strukturovaná data.
Specifikace uživateleApache Pig používají výzkumní pracovníci a programátořiApache Hive používá Data Analyst
Pracuje zapnutoApache Pig pracuje na straně klienta clusteruÚl Apache Funguje na straně serveru Clusteru
Metody rozděleníV Apache Pig neexistuje pojem PartitionApache Hive podporuje funkce Sharding
Formát souboruApache 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 / ODBCApache Pig nepodporujePodpory úlu Apache jsou omezené
LaděníJe snadné ladit Pig skriptyMůž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 -

  1. Hadoop developerský rozhovor Otázky
  2. Hadoop vs Hive
  3. Jak rozbít rozhovor s vývojářem Hadoop?
  4. Apache Hive vs. Apache HBase
  5. Apache Hadoop vs Apache Spark

Kategorie: