Rozdiel medzi Apache Pig a Apache Hive
Príbeh Apache Pig sa začína v roku 2006, keď výskumník ako Yahoo bojoval s kódmi Java MapReduce. Bolo ťažké znovu použiť a udržiavať kód na kompiláciu. Zároveň zistili, že používatelia MapReduce neboli spokojní s deklaratívnymi jazykmi, ako je SQL. Začali pracovať na novom jazyku, ktorý mal zapadnúť do sladkého miesta medzi deklaratívnym štýlom SQL, nízkym a procedurálnym štýlom MapReduce. To malo za následok narodenie prasaťa a prvé prepustenie prasaťa prišlo v septembri 2008 a do konca roka 2009 asi polovica pracovných miest v spoločnosti Yahoo boli pracovné miesta prasaťa.
Príbeh Apache Hive sa začína v roku 2007, keď programátor, ktorý nie je programom Java, musí bojovať pri používaní Hadoop MapReduce. Odborníci v oblasti IT z databázového prostredia čelili výzvam pri práci na Hadoop Cluster. Vedci pracujúci na Facebooku spočiatku prišli s jazykom Hive. Tento jazyk bol veľmi podobný jazyku SQL. Jazyk sa preto nazýval Hive Query Language (HQL) a neskôr sa stal projektom open source Apache Community. Po tom, čo sa stal projektom Apache Community, došlo k významnému rozvoju v Apache Hive. Facebook bol prvou spoločnosťou, ktorá prišla s Apache Hive.
Dovoľte mi podrobnejšie vysvetliť informácie o Apache Pig vs Apache Hive.
Predstavujeme Apache Pig vs Apache Hive
Apache Pig je platforma na analýzu veľkých súborov údajov, ktorá pozostáva z jazyka na vysokej úrovni na vyjadrenie programov na analýzu údajov, spolu s infraštruktúrou na hodnotenie týchto programov. Apache je open source projekt Apache Community. Apache Pig poskytuje jednoduchý jazyk s názvom Pig Latin, pre otázky a manipuláciu s dátami.
Ošípané využívajú spoločnosti ako Yahoo, Google a Microsoft na zhromažďovanie obrovského množstva súborov údajov vo forme tokov kliknutí, protokolov vyhľadávania a indexového prehľadávania webu.
- Apache Pig poskytuje vnorené typy údajov, ako sú Mapy, Tuples a Tašky
- Apache Pig Nasleduje prístup založený na viacerých dopytoch, aby sa zabránilo viacnásobnému skenovaniu množín údajov.
- Programátori oboznámení s skriptovacím jazykom uprednostňujú Apache Pig
- Prasa je ľahká, ak viete o SQL
- Na prácu na Apache Pig nie je potrebné vytvárať schémy
- Ošípané tiež poskytujú podporu pre hlavné dátové operácie, ako je napríklad objednávanie, filtre a pripojenia
- Framework Apache Pig prevádza latinu prasaťa do sekvencií programov MapReduce
Softvér pre dátový sklad Apache Hive uľahčuje čítanie, zápis a správu veľkých množín údajov uložených v distribuovanom úložisku pomocou SQL. Apache Hive je open-source projekt Apache postavený na vrchole Hadoopu na dotazovanie, sumarizáciu a analýzu veľkých súborov údajov pomocou rozhrania podobného SQL. Podregister Apache poskytuje jazyk podobný jazyku SQL nazývaný HiveQL, ktorý transparentne prevádza dotazy na MapReduce na vykonávanie na veľkých množinách údajov uložených v systéme Hadoop Distributed File System (HDFS).
- Apache Hive je infraštruktúra dátového skladu.
- Apache Hive je ETL nástroj (extrakcia-transformácia-načítanie)
- Úľ Apache je podobný SQL
- Apache Hive umožňuje prispôsobené mapovače a redukcie
- Apache Hive zvyšuje flexibilitu pri návrhu schémy pomocou serializácie a deserializácie dát
- Úľ Apache je analytický nástroj
Porovnanie Head to Head medzi Apache Pig a Apache Hive (Infographics):
Kľúčové rozdiely medzi Apache Pig a Apache Hive:
- Apache Pig rýchlejšie porovnáva Apache Hive
- Apache Pig a Apache Hive sú spustené v hornej časti Hadoop MapReduce
- Apache Pig je najlepší pre štruktúrované a pološtruktúrované, zatiaľ čo Apache Hive je najlepší pre štruktúrované údaje
- Apache Pig je procedurálny jazyk, zatiaľ čo Apache Hive je deklaratívny jazyk
- Apache Pig podporuje funkciu spoločnej skupiny pre vonkajšie spojenia, zatiaľ čo Apache Hive nepodporuje
- Apache Pig nemá preddefinovanú databázu na ukladanie tabuľky / schémy, zatiaľ čo Apache Hive má preddefinované tabuľky / schémy a ukladá svoje informácie do databázy.
- Apache Pig je tiež vhodný pre zložitú a vnorenú štruktúru dát, zatiaľ čo Apache Hive je menej vhodný pre zložité dáta
- Vedci a programátori používajú prasa Apache, zatiaľ čo Data Analysts používajú Apache Hive
Kedy používať Apache Pig:
- Keď ste programátor a poznáte skriptovací jazyk
- Ak pri načítavaní nechcete vytvárať schému
- Požiadavky ETL
- Keď pracujete na klientskej strane klastra Hadoop
- Keď pracujete na formáte súboru Avro Hadoop
Kedy používať Apache Hive:
- Požiadavky na skladovanie údajov
- Analytické otázky historických údajov
- Analýza dát, ktorí sú oboznámení s SQL
- Pri práci na štruktúrovaných údajoch
- Podľa analytikov údajov
- Vizualizovať a vytvárať správy
Porovnávacia tabuľka Apache Pig vs Apache Hive
Diskutujem o významných artefaktoch a rozlišujem medzi Apache Pig a Apache Hive.
Apache Pig | Úľ Apache | |
Spracovanie dát | Apache Pig je jazyk na vysokej úrovni toku údajov | Apache Hive sa používa na dávkové spracovanie, tj online analytické spracovanie (OLAP) |
Rýchlosť spracovania | Apache Pig má vyššiu latenciu kvôli vykonávaniu úlohy MapReduce na pozadí | Apache Hive má tiež vyššiu latenciu kvôli vykonávaniu úlohy MapReduce na pozadí |
Kompatibilita s Hadoop | Apache Pig beží na MapReduce | Apache Hive tiež beží na MapReduce |
definícia | Apache Pig je otvorený zdrojový systém na vysokej úrovni pre tok údajov, ktorý vám poskytuje jednoduchú jazykovú platformu, ktorá sa nazýva Pig Latin, a ktorá sa dá použiť na manipuláciu s údajmi a otázkami. | Apache Hive je open source a podobný SQL používanému pre analytické dotazy |
Použitý jazyk | Apache Pig používa procedurálny jazyk toku dát nazývaný Pig Latin | Apache Hive používa deklaratívny jazyk s názvom HiveQL |
schéma | Apache Pig nemá koncepciu schémy. Údaje môžete ukladať do aliasu. | Podregister Apache podporuje schému na vkladanie údajov do tabuliek |
Webové rozhranie | Apache Pig nepodporuje webové rozhranie | Apache Hive podporuje webové rozhranie |
operácie | Apache Pig sa používa na štruktúrované a pološtrukturované údaje | Apache Hive sa používa pre štruktúrované údaje. |
Špecifikácia užívateľa | Apache Pig používajú výskumníci a programátori | Apache Hive používa Data Analyst |
Pracuje zapnuté | Apache Pig pracuje na strane klienta klastra | Úľ Apache Funguje na serverovej strane klastra |
Metódy rozdelenia | V Apache Pig neexistuje pojem Partition | Apache Hive podporuje funkcie Sharding |
Formát súboru | Prach Apache podporuje formát súboru Avro | Úľ Apache priamo nepodporuje formát Avro, ale podporuje ho pomocou “org.apache.hadoop.hive.serde2.avro” |
JDBC / ODBC | Apache Pig nepodporuje | Podpora úľa Apache je obmedzená |
ladenie | Je ľahké ladiť Pig skripty | Môžeme ladiť, ale je to trochu zložité |
Záver - Medzi Apache Pig a Apache Hive:
Apache Pig a Apache Hive, obidva sa bežne používajú v klastri Hadoop. Apache Pig a Apache Hive sú výkonným nástrojom na analýzu údajov a ETL. Apache Pig a Apache Hive sa väčšinou používajú v produkčnom prostredí. Používateľ musí vybrať nástroj na základe typov údajov a očakávaného výstupu. Oba nástroje poskytujú jedinečný spôsob analýzy veľkých údajov v klastri Hadoop. Na základe vyššie uvedenej diskusie si používateľ môže vybrať medzi Apache Pig a Apache Hive podľa svojich požiadaviek.
Odporúčaný článok
Toto bol sprievodca Apache Pig verzus Apache Hive, ich význam, porovnanie hlava-hlava, kľúčové rozdiely, porovnávacia tabuľka a záver. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Otázky týkajúce sa rozhovoru pre vývojárov Hadoop
- Hadoop vs Hive
- Ako rozlúštiť rozhovor pre vývojárov Hadoop?
- Apache Hive vs Apache HBase
- Apache Hadoop vs Apache Spark