Różnica między świnią Apache a gałęzią Apache
Historia Apache Pig zaczyna się w 2006 roku, kiedy badacz jako Yahoo zmagał się z kodami MapReduce Java. Trudno było ponownie użyć i utrzymać kod do kompilacji. Jednocześnie zauważyli, że użytkownicy MapReduce nie byli zadowoleni z deklaratywnych języków, takich jak SQL. Zaczęli pracować nad nowym językiem, który miał pasować do deklaratywnego stylu SQL, niskiego poziomu i stylów proceduralnych MapReduce. Doprowadziło to do narodzin Pig, a pierwsze wydanie Pig nastąpiło we wrześniu 2008 r., A do końca 2009 r. Około połowa miejsc pracy w Yahoo była pracą w Pig.
Historia Apache Hive rozpoczyna się w 2007 roku, kiedy programista inny niż Java musi się zmagać podczas korzystania z Hadoop MapReduce. Specjaliści IT pochodzący z baz danych stanęli przed wyzwaniami do pracy nad Hadoop Cluster. Początkowo naukowcy pracujący na Facebooku wymyślili język Hive. Ten język był bardzo podobny do języka SQL. Język nazywał się Hive Query Language (HQL), a później stał się projektem społeczności Apache o otwartym kodzie źródłowym. Po zostaniu projektem społeczności Apache nastąpił znaczny rozwój Apive Hive. Facebook był pierwszą firmą, która wymyśliła Apache Hive.
Pozwól, że wyjaśnię więcej o Apache Pig vs. Apache Hive.
Przedstawiamy Apache Pig vs. Apache Hive
Apache Pig to platforma do analizy dużych zestawów danych, która składa się z języka wysokiego poziomu do wyrażania programów do analizy danych, w połączeniu z infrastrukturą do oceny tych programów. Apache to projekt open source społeczności Apache. Apache Pig zapewnia prosty język Pig Latin, do zapytań i manipulacji danymi.
Świnia jest wykorzystywana przez firmy takie jak Yahoo, Google i Microsoft do gromadzenia ogromnych ilości zestawów danych w postaci strumieni kliknięć, dzienników wyszukiwania i indeksowania stron internetowych.
- Apache Pig zapewnia zagnieżdżone typy danych, takie jak Mapy, Krotki i Torby
- Świnia Apache Stosuje podejście oparte na wielu zapytaniach, aby uniknąć wielokrotnego skanowania zestawów danych.
- Programiści znający język skryptowy wolą Apache Pig
- Świnia jest łatwa, jeśli dobrze znasz SQL
- Nie trzeba tworzyć schematu do pracy na Apache Pig
- Pig zapewnia również obsługę głównych operacji na danych, takich jak zamawianie, filtry i łączenia
- Środowisko Apache Pig tłumaczy Pig Latin na sekwencje programów MapReduce
Oprogramowanie hurtowni danych Apache Hive ułatwia odczytywanie, zapisywanie i zarządzanie dużymi zestawami danych rezydującymi w pamięci rozproszonej za pomocą SQL. Apache Hive to projekt Apache typu open source zbudowany na platformie Hadoop do wyszukiwania, podsumowywania i analizowania dużych zestawów danych przy użyciu interfejsu podobnego do SQL. Rój Apache udostępnia język podobny do SQL o nazwie HiveQL, który w przejrzysty sposób konwertuje zapytania do MapReduce w celu wykonania na dużych zestawach danych przechowywanych w Hadoop Distributed File System (HDFS).
- Apache Hive to infrastruktura hurtowni danych.
- Apache Hive to narzędzie ETL (ekstrakcja-transformacja-ładowanie)
- Rój Apache jest podobny do SQL
- Apache Hive umożliwia tworzenie niestandardowych mapowań i reduktorów
- Apache Hive zwiększa elastyczność projektowania schematu za pomocą serializacji danych i deserializacji
- Ula Apache to narzędzie analityczne
Bezpośrednie porównanie świni Apache vs Apache Hive (infografiki):
Kluczowe różnice między Apache Pig a Apache Hive:
- Apache Pig jest szybszy w porównaniu do Apache Hive
- Apache Pig i Apache Hive działają na szczycie Hadoop MapReduce
- Apache Pig najlepiej nadaje się do danych strukturalnych i częściowo ustrukturyzowanych, a Apache Hive - do danych strukturalnych
- Apache Pig jest językiem proceduralnym, podczas gdy Apache Hive jest językiem deklaratywnym
- Apache Pig obsługuje funkcję grupowania dla połączeń zewnętrznych, podczas gdy Apache Hive nie obsługuje
- Apache Pig nie ma predefiniowanej bazy danych do przechowywania tabeli / schematu, podczas gdy Apache Hive ma predefiniowane tabele / schemat i przechowuje informacje w bazie danych.
- Apache Pig nadaje się również do złożonych i zagnieżdżonych struktur danych, podczas gdy Apache Hive jest mniej odpowiedni do złożonych danych
- Badacze i programiści używają świni Apache, podczas gdy analitycy danych używają Apache Hive
Kiedy używać świni Apache:
- Gdy jesteś programistą i znasz język skryptowy
- Gdy nie chcesz tworzyć schematu podczas ładowania
- Wymagania ETL
- Podczas pracy po stronie klienta klastra Hadoop
- Podczas pracy nad formatem pliku Avro Hadoop
Kiedy używać gałęzi Apache:
- Wymagania dotyczące hurtowni danych
- Analityczne zapytania danych historycznych
- Analiza danych, którzy znają SQL
- Podczas pracy na ustrukturyzowanych danych
- Przez analityków danych
- Aby wizualizować i tworzyć raporty
Tabela porównawcza Apache Pig vs Apache Hive
Omawiam główne artefakty i rozróżniam Apache Pig i Apache Hive.
Apache Pig | Apache Hive | |
Przetwarzanie danych | Apache Pig to język wysokiego poziomu przepływu danych | Apache Hive jest używany do przetwarzania wsadowego, tj. Online Analytical Processing (OLAP) |
Szybkość przetwarzania | Świnia Apache ma większe opóźnienia z powodu wykonywania zadania MapReduce w tle | Apache Hive ma również większe opóźnienia z powodu wykonywania zadania MapReduce w tle |
Kompatybilność z Hadoop | Apache Pig działa na MapReduce | Apache Hive działa również na MapReduce |
Definicja | Apache Pig to otwarty system wysokopoziomowego przepływu danych, który udostępnia prostą platformę językową znaną jako Pig Latin, której można używać do manipulowania danymi i zapytaniami. | Apache Hive jest open source i podobny do SQL używanego do zapytań analitycznych |
Używany język | Świnia Apache używa proceduralnego języka przepływu danych o nazwie Pig Latin | Apache Hive używa deklaratywnego języka o nazwie HiveQL |
Schemat | Świnia Apache nie ma pojęcia schematu. Możesz przechowywać dane w aliasie. | Rój Apache obsługuje schemat wstawiania danych do tabel |
Interfejs sieciowy | Apache Pig nie obsługuje interfejsu sieciowego | Apache Hive obsługuje interfejs WWW |
Operacje | Apache Pig jest używany do danych strukturalnych i półstrukturalnych | Apache Hive jest używany do danych strukturalnych. |
Specyfikacja użytkownika | Z Apache Pig korzystają naukowcy i programiści | Apache Hive jest używany przez Data Analyst |
Działa na | Apache Pig działa po stronie klienta klastra | Rój Apache Działa po stronie serwera w klastrze |
Metody podziału | W Apache Pig nie ma koncepcji partycji | Apache Hive obsługuje funkcje Sharding |
Format pliku | Apache Pig Obsługuje format pliku Avro | Rój Apache bezpośrednio nie obsługuje formatu Avro, ale może obsługiwać „org.apache.hadoop.hive.serde2.avro” |
JDBC / ODBC | Apache Pig nie obsługuje | Rój Apache obsługuje, ale jest ograniczony |
Debugowanie | Łatwo jest debugować skrypty Pig | Możemy debugować, ale jest to trochę skomplikowane |
Wniosek - pomiędzy Apache Pig a Hive Apache:
Apache Pig i Apache Hive, oba są powszechnie używane w klastrze Hadoop. Zarówno Apache Pig, jak i Apache Hive to potężne narzędzie do analizy danych i ETL. Apache Pig i Hoje Apache są najczęściej używane w środowisku produkcyjnym. Użytkownik musi wybrać narzędzie na podstawie typów danych i oczekiwanych wyników. Oba narzędzia zapewniają unikalny sposób analizy Big Data w klastrze Hadoop. Na podstawie powyższej dyskusji użytkownik może wybrać pomiędzy Apache Pig i Apache Hive według swoich wymagań.
Polecany artykuł
Jest to przewodnik po Apache Pig vs Apache Hive, ich znaczeniu, porównaniu głowy, kluczowych różnicach, tabeli porównawczej i wnioskach. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Wywiad z twórcami platformy Hadoop Pytania
- Hadoop vs Hive
- Jak złamać wywiad programisty Hadoop?
- Apache Hive vs Apache HBase
- Apache Hadoop vs Apache Spark