Jak Hive porównuje się do HBase?

Jestem zainteresowany dowiedzeniem się, jak niedawno wydany ( http://mirror.facebook.com/facebook/hive/hadoop-0.17 / ) Hive porównuje do HBase pod względem wydajności. Interfejs podobny do SQL używany przez Hive jest bardzo korzystniejszy od zaimplementowanego przez nas interfejsu API HBase.

Author: mrhahn, 2008-08-23

7 answers

Trudno znaleźć wiele o Ulu, ale znalazłem tenFragment na stronie ula, który mocno pochyla się na korzyść HBase (pogrubienie dodane):

Hive jest oparty na Hadoop, który jest systemem przetwarzania wsadowego. W związku z tym, ten system nie i nie może obiecać niskich opóźnień w zapytaniach . Paradygmat tutaj jest ściśle przesyłania zadań i powiadamiania, gdy zadania są zakończone, w przeciwieństwie do zapytań w czasie rzeczywistym. W związku z tym nie należy go porównywać z systemami takimi jak Oracle gdzie analiza odbywa się na znacznie mniejszej ilości danych, ale analiza przebiega znacznie bardziej iteracyjnie, a czas reakcji między iteracjami jest krótszy niż kilka minut. dla zapytań Hive Czas odpowiedzi dla nawet najmniejszych zadań może być rzędu 5-10 minut, a dla większych zadań może to nawet trwać kilka godzin.

Ponieważ HBase i HyperTable to wydajność (wzorowana na BigTable Google), brzmią tak, jakby z pewnością były znacznie szybsze niż Hive, kosztem funkcjonalności i wyższej krzywej uczenia się (np. nie mają łączników ani składni podobnej do SQL).

 50
Author: Chris Bunch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-30 22:16:14

Z jednej perspektywy, Hive składa się z pięciu głównych komponentów: gramatyki i parsera podobnego do SQL, planisty zapytań, silnika wykonywania zapytań, repozytorium metadanych i układu przechowywania kolumnowego. Jego głównym celem są obciążenia analityczne w stylu hurtowni danych, więc pobieranie wartości według kluczy z niskim opóźnieniem nie jest konieczne.

HBase ma własne repozytorium metadanych i układ przechowywania kolumnowego. Możliwe jest tworzenie zapytań HiveQL nad tabelami HBase, dzięki czemu HBase może korzystać z Gramatyka i parser Hive ' a, planista zapytań i silnik wykonywania zapytań. Zobacz http://wiki.apache.org/hadoop/Hive/HBaseIntegration Po Więcej Szczegółów.

 11
Author: Jeff Hammerbacher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-04 04:38:53

Hive jest narzędziem analitycznym. Podobnie jak pig, został zaprojektowany do doraźnego przetwarzania wsadowego potencjalnie obfitych ilości danych poprzez wykorzystanie map reduce. Pomyśl o terrabytach. Wyobraź sobie, że próbujesz to zrobić w relacyjnej bazie danych...

HBase jest przechowywaniem wartości klucza w kolumnach opartych na BigTable. Nie możesz wykonywać zapytań per se, chociaż możesz uruchomić zadania map reduce nad HBase. Podstawowym przypadkiem użycia jest pobieranie wierszy według klucza lub skanowanie zakresów wierszy. Główną cechą jest możliwość posiadania danych lokalizacja podczas skanowania w zakresach kluczy wierszy w poszukiwaniu "rodziny" kolumn.

 8
Author: Tim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-07 09:30:58

Według mojej skromnej wiedzy, Hive jest bardziej porównywalny do świni. Hive jest podobny do SQL, a Pig jest oparty na skrypcie. Hive wydaje się być bardziej skomplikowany z silnikami optymalizacji i wykonywania zapytań, a także wymaga, aby użytkownik końcowy musiał określić parametry schematu (partycja itp.). Oba są przeznaczone do przetwarzania plików tekstowych lub plików sekwencyjnych.

HBase służy do przechowywania i pobierania danych wartości klucza...możesz skanować lub filtrować te kluczowe pary wartości (wiersze). Nie można wykonywać zapytań w wierszach (klucz, wartość).

 5
Author: haijin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-06 05:09:17

Hive i HBase są używane do różnych celów .

Hive:

Plusy:

  1. [1]}Apache Hive jest infrastrukturą hurtowni danych zbudowaną na bazie Hadoop .
  2. pozwala na wyszukiwanie danych przechowywanych na HDFS do analizy za pomocą HQL , języka podobnego do SQL , który zostanie przekształcony w serię Map Reduce Jobs
  3. działa tylko wsad procesy na Hadoop.
  4. Jest zgodny z JDBC , integruje się również z istniejącymi narzędziami bazującymi na SQL
  5. Hive obsługuje partycje
  6. obsługuje analityczne wyszukiwanie danych zebranych w okresie czasu

Wady:

    Obecnie nie obsługuje instrukcji aktualizacji [24]}
  1. powinien być dostarczony z predefiniowanym schematem mapowania plików i katalogów na kolumny

HBase:

Plusy:

  1. skalowalna, rozproszona baza danych , która obsługuje strukturyzowane przechowywanie danych dla dużych tabel
  2. zapewnia losowy dostęp odczytu/zapisu w czasie rzeczywistym do dużych danych. Operacje HBase są uruchamiane w czasie rzeczywistym w bazie danych, a nie w zadaniach MapReduce.]}
  3. obsługuje partycje do tabel, a tabele są dalej dzielone na rodziny kolumn
  4. wagi poziomo z ogromną ilością danych za pomocą Hadoop
  5. zapewnia kluczowy dostęp do danych podczas przechowywania lub pobierania. To obsługuje dodawanie lub aktualizowanie wierszy.
  6. Obsługuje wersjonowanie danych.

Wady:

  1. zapytania HBase są pisane w niestandardowym języku, którego trzeba się nauczyć
  2. Hbaza nie jest w pełni zgodna z kwasami
  3. Nie można go używać ze skomplikowanymi wzorcami dostępu (np. złączeniami).]}
  4. jest to również nie jest kompletnym substytutem HDFS podczas wykonywania dużych MapReduce wsadowych

Podsumowanie:

Hive może być używany do zapytań analitycznych, podczas gdy HBase do zapytań w czasie rzeczywistym. Dane mogą być nawet odczytywane i zapisywane z ula do HBase i z powrotem.

 4
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 14:36:22

Od najnowszych wydań Hive wiele się zmieniło, co wymaga małej aktualizacji, ponieważ Hive i HBase są teraz zintegrowane. Oznacza to, że Hive może być używany jako warstwa zapytań do magazynu danych HBase. Teraz, jeśli ludzie szukają alternatywnych interfejsów HBase, Pig oferuje również bardzo ładny sposób ładowania i przechowywania danych HBase . Dodatkowo, wygląda na to, że Cloudera Impala może oferować znaczne zapytania oparte na Hive wydajności na szczycie HBase. Są to zgłaszaj do 45 razy szybsze zapytania w porównaniu z tradycyjnymi ustawieniami Ula.

 3
Author: Shawn H,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 03:54:59

Aby porównać Hive z Hbase, chciałbym przypomnieć definicję poniżej:

Baza danych przeznaczona do obsługi transakcji nie jest przeznaczona do obsługi analityka. Nie jest skonstruowany tak, aby dobrze wykonywać analizy. Hurtownia danych, z drugiej strony jest skonstruowany tak, aby analityka była szybka i łatwa.

Hive to Infrastruktura hurtowni danych zbudowana na bazie Hadoop, która nadaje się do długotrwałych zadań ETL. Hbase to baza danych przeznaczona do obsługi czasu rzeczywistego transakcje

 0
Author: sras,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-04 06:51:52