Różnica między ulem a impalą

Hive to projekt oprogramowania do hurtowni danych zbudowany na bazie APACHE HADOOP, opracowany przez zespół Jeffa na Facebooku, z aktualną stabilną wersją 2.3.0. Służy do podsumowywania dużych zbiorów danych i ułatwia tworzenie zapytań i analiz. Apache Hive to skuteczny standard dla SQL-in Hadoop. Impala to równolegle przetwarzający się silnik zapytań SQL, który działa na Apache Hadoop i służy do przetwarzania danych przechowywanych w HBase (baza danych Hadoop) i rozproszonym systemie plików Hadoop. Impala to produkt open source do mechanizmu zapytań SQL równoległego przetwarzania (MPP) dla danych przechowywanych w lokalnym klastrze systemowym działającym na Apache Hadoop. Zarówno Apache Hive, jak i Impala są kluczowymi elementami systemu Hadoop.

Przyjrzyjmy się więc szczegółowo Hive i Impali:

UL

  • Apache Hive pomaga w analizie ogromnego zestawu danych przechowywanego w systemie plików Hadoop (HDFS) i innych kompatybilnych systemach plików.
  • Hive QL - do wysyłania zapytań do danych przechowywanych w klastrze Hadoop .
  • Wykorzystuje skalowalność Hadoop przez tłumaczenie .
  • Hive NIE jest pełną bazą danych .
  • Nie zapewnia aktualizacji na poziomie rekordu .
  • Hadoop to system zorientowany na partię .
  • Kwerendy Hive mają duże opóźnienia z powodu MapReduce .
  • Hive nie zapewnia funkcji Jest zbliżony do OLAP .
  • Najlepiej nadaje się do aplikacji hurtowni danych .
  • Wykonanie zapytania za pośrednictwem MapReduce .
  • język zapytań może być używany z niestandardowymi funkcjami skalarnymi (UDF), agregacjami (UDAF) i funkcjami tabelowymi (UDTF) .
  • Hive zapewnia również indeksowanie w celu przyspieszenia, typ indeksu, w tym kompaktowanie i indeks bitmapowy, od wersji 0.10, planowane jest więcej typów indeksów.
  • Typy pamięci obsługiwane przez Hive to RCfile, HBase, ORC i Zwykły tekst .
  • Zapytania podobne do SQL (Hive QL), które są domyślnie konwertowane na zadania MapReduce lub Tez lub Spark .
  • Domyślnie Hive przechowuje metadane we wbudowanej bazie danych Apache Derby .

IMPALA

  • Impala to silnik zapytań działający na platformie Hadoop . Publiczna dystrybucja testów beta została ogłoszona w październiku 2012 r. I stała się ogólnie dostępna w maju 2013 r.
  • Obsługuje pamięć HDFS Apache HBase i Amazon S3 .
  • Odczytuje formaty plików Hadoop, w tym tekst, Parkiet, Avro, RCFile, LZO i plik sekwencji .
  • Obsługuje Hadoop Security (uwierzytelnianie Kerberos) .
  • Wykorzystuje metadane, sterownik ODBC i składnię SQL z Apache Hive .
  • Obsługuje wiele kodeków kompresji:

(a) Snappy (zalecany ze względu na efektywną równowagę między stopniem kompresji a prędkością dekompresji),

(b) Gzip (zalecane przy osiągnięciu najwyższego poziomu kompresji),

(c) Deflate (nie obsługiwane dla plików tekstowych), Bzip2, LZO (tylko dla plików tekstowych);

  • Umożliwia zapytania o zagnieżdżone struktury, w tym mapy, struktury i tablice.
  • Umożliwia współbieżne zapytania dla wielu użytkowników, a także umożliwia kontrolę dostępu na podstawie priorytetów i kolejkowania zapytań.

Bezpośrednie porównania między ulem a impalą (infografiki)

Poniżej znajduje się porównanie 20 najlepszych między Hive a Impala

Kluczowa różnica między ulem a impalą

Różnice między Hive a Impala wyjaśniono w punktach przedstawionych poniżej:

  • Hive jest rozwijany przez zespół Jeffa na Facebooku, ale Impala jest opracowywana przez Apache Software Foundation .
  • Hive obsługuje format pliku zoptymalizowanego formatu kolumnowego wiersza (ORC) z kompresją Zlib, ale Impala obsługuje format Parquet z szybką kompresją .
  • Hive jest napisane w Javie, ale Impala jest napisana w C ++.
  • Szybkość przetwarzania zapytań w gałęzi jest niska, ale Impala jest 6-69 razy szybsza niż w gałęzi .
  • W Hive Opóźnienie jest wysokie, ale w Impala Opóźnienie jest niskie .
  • Hive obsługuje przechowywanie plików RC i ORC, ale obsługa przechowywania Impala to Hadoop i Apache HBase .
  • Hive generuje wyrażenie zapytania w czasie kompilacji, ale podczas generowania kodu Impala dla „dużych pętli” dochodzi podczas działania .
  • Hive nie obsługuje przetwarzania równoległego, ale Impala obsługuje przetwarzanie równoległe.
  • Hive obsługuje MapReduce, ale Impala nie obsługuje MapReduce .
  • W Hive nie ma funkcji bezpieczeństwa, ale Impala obsługuje uwierzytelnianie Kerberos .
  • W uaktualnieniu każdego projektu, w którym ważna jest kompatybilność i szybkość, Hive jest idealnym wyborem, ale w nowym projekcie Impala jest idealnym wyborem .
  • Hive jest odporny na awarie, ale Impala nie obsługuje odporności na awarie .
  • Hive obsługuje typy złożone, ale Impala nie obsługuje typów złożonych .
  • Hive jest oparty na partii Hadoop MapReduce, ale Impala to baza danych MPP .
  • Hive nie obsługuje przetwarzania interaktywnego, ale Impala obsługuje przetwarzanie interaktywne .
  • W zapytaniu gałęzi występuje problem „zimnego startu”, ale w demonie Impala proces jest uruchamiany w czasie rozruchu .
  • Menedżerem zasobów Hive jest YARN (Yet Another Resource Negotiator), ale w Impala menedżerem zasobów jest macierzysty * YARN .
  • Dystrybucje ula to wszystkie dystrybucje Hadoop, Hortonworks (Tez, LLAP), ale w dystrybucji Impala są Cloudera MapR (* Amazon EMR) .
  • Odbiorcami ulu są inżynierowie danych, ale w grupie Impala są analitykami danych / naukowcami danych.
  • Wydajność ula jest wysoka, ale w przypadku Impala wydajność jest niska .

Tabela porównawcza Hive vs Impala

Numer seryjny.Podstawa do porównaniaUlImpala
1.Opracowany przezFacebookOprogramowanie Apache
Fundacja
2)Format pliku
  • Plik sekwencji.
  • Plik tekstowy.
  • Zoptymalizowany format kolumnowy wiersza (ORC) z kompresją Zlib.
  • Format pliku RC.
  • Format parkietu z szybką kompresją.
  • Avro
  • LZO
  • Plik sekwencji.
3)JęzykNapisane w JAVANapisane w C ++
4Szybkość przetwarzaniaRój jest wolnyImpala jest szybka
5Czas oczekiwaniaWysokiNiska
6.Obsługa pamięci masowejPlik RC, ORCHadoop, Apache HBase
7Konwersja koduGeneruje wyrażenie zapytania w czasie kompilacjiGenerowanie kodu odbywa się w czasie wykonywania.
8Obsługuje przetwarzanie równoległeNietak
9Obsługa MapReducetakNie
10Hadoop SecurityNieObsługuje uwierzytelnianie Kerberos.
11StosowanieIdealny do modernizacji projektuIdealny do rozpoczęcia nowego projektu.
12Odporne na uszkodzeniaRój jest odporny na awarie.Nie obsługuje tolerancji na uszkodzenia.
13Typy złożoneHive obsługuje złożone typy.Impala nie obsługuje złożonych typów.
14Typ bazy danychHive to oparty na partii Hadoop MapReduce.Jest to baza danych MPP
15.Komputery interaktywneNie obsługuje przetwarzania interaktywnego.Obsługuje przetwarzanie interaktywne.
16WykonanieW zapytaniu gałęzi występuje problem z „zimnym startem”Proces impala zawsze rozpoczyna się w czasie rozruchu demonów.
17Zarządzanie zasobamiPRZĘDZANatywny * YARN
18DystrybucjeHIVE - wszystkie dystrybucje Hadoop, Hortonworks (Tez, LLAP)Cloudera MapR,
(* Amazon EMR)
19PublicznośćInżynierowie danychAnalityk danych / naukowcy danych
20WydajnośćWysoka przepustowośćNiska przepustowość

Wniosek - Hive vs Impala

W tym artykule próbowaliśmy pokazać, że są to dwie technologie, mianowicie Hive i Impala, a także podstawowa różnica między tymi technologiami. W praktyce możemy powiedzieć, że Hive i Impala nie są konkurentami, oba należą do tej samej fundacji znanej jako MapReduce do wykonywania zapytań, użycie obu może spowodować różnicę. W zależności od potrzeb możemy go używać razem lub najlepiej, zgodnie z kompatybilnością, potrzebą i wydajnością. Językiem zapytań Hive jest Hive QL, który jest bardzo wszechstronnym i uniwersalnym językiem, podczas gdy Impala wymaga dużej ilości pamięci i nie działa dobrze w przypadku przetwarzania ciężkich operacji danych, np. Zapytania łączące. Jeśli w twoim projekcie praca związana jest z przetwarzaniem wsadowym dużej ilości danych, Hive będzie w tym przypadku lepiej, a jeśli twoja praca jest związana z procesem ad-hoc zapytania w czasie rzeczywistym, Impala będzie lepsza w ta walizka.

Polecany artykuł

Jest to przewodnik po Hive Vs Impala, ich znaczeniu, bezpośrednim porównaniu, kluczowych różnicach, tabeli porównawczej i wnioskach. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Apache Hive vs Apache Spark SQL - 13 niesamowitych różnic
  2. Hive VS HUE - Top 6 przydatnych porównań do nauki
  3. Apache Pig vs Hoje Apache - Top 12 przydatnych różnic
  4. Hadoop vs Hive - Znajdź najlepsze różnice
  5. Używanie funkcji ORDER BY w gałęzi

Kategoria: