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ównania | Ul | Impala |
1. | Opracowany przez | Oprogramowanie Apache Fundacja |
|
2) | Format pliku |
|
|
3) | Język | Napisane w JAVA | Napisane w C ++ |
4 | Szybkość przetwarzania | Rój jest wolny | Impala jest szybka |
5 | Czas oczekiwania | Wysoki | Niska |
6. | Obsługa pamięci masowej | Plik RC, ORC | Hadoop, Apache HBase |
7 | Konwersja kodu | Generuje wyrażenie zapytania w czasie kompilacji | Generowanie kodu odbywa się w czasie wykonywania. |
8 | Obsługuje przetwarzanie równoległe | Nie | tak |
9 | Obsługa MapReduce | tak | Nie |
10 | Hadoop Security | Nie | Obsługuje uwierzytelnianie Kerberos. |
11 | Stosowanie | Idealny do modernizacji projektu | Idealny do rozpoczęcia nowego projektu. |
12 | Odporne na uszkodzenia | Rój jest odporny na awarie. | Nie obsługuje tolerancji na uszkodzenia. |
13 | Typy złożone | Hive obsługuje złożone typy. | Impala nie obsługuje złożonych typów. |
14 | Typ bazy danych | Hive to oparty na partii Hadoop MapReduce. | Jest to baza danych MPP |
15. | Komputery interaktywne | Nie obsługuje przetwarzania interaktywnego. | Obsługuje przetwarzanie interaktywne. |
16 | Wykonanie | W zapytaniu gałęzi występuje problem z „zimnym startem” | Proces impala zawsze rozpoczyna się w czasie rozruchu demonów. |
17 | Zarządzanie zasobami | PRZĘDZA | Natywny * YARN |
18 | Dystrybucje | HIVE - wszystkie dystrybucje Hadoop, Hortonworks (Tez, LLAP) | Cloudera MapR, (* Amazon EMR) |
19 | Publiczność | Inżynierowie danych | Analityk danych / naukowcy danych |
20 | Wydajność | 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 -
- Apache Hive vs Apache Spark SQL - 13 niesamowitych różnic
- Hive VS HUE - Top 6 przydatnych porównań do nauki
- Apache Pig vs Hoje Apache - Top 12 przydatnych różnic
- Hadoop vs Hive - Znajdź najlepsze różnice
- Używanie funkcji ORDER BY w gałęzi