Wprowadzenie do Apache Hive



Apache Hive to pakiet hurtowni danych zbudowany na bazie Hadoop i służy do analizy danych. Hive jest przeznaczony dla użytkowników dobrze znających język SQL.

Apache Hive to pakiet hurtowni danych zbudowany na bazie Hadoop i służy do analizy danych. Hive jest przeznaczony dla użytkowników dobrze znających język SQL. Jest podobny do SQL i nazywa się HiveQL i służy do zarządzania danymi strukturalnymi i wykonywania zapytań. Apache Hive służy do abstrakcyjnej złożoności Hadoop. Ten język umożliwia również tradycyjnym programistom mapowania / redukcji na podłączanie ich niestandardowych maperów i reduktorów. Popularną cechą Hive jest brak konieczności nauki języka Java.





Hive, platforma do magazynowania dat w skali peta-bajtowej typu open source, oparta na Hadoop, została opracowana przez zespół infrastruktury danych na Facebooku. Hive jest również jedną z technologii, które są używane do spełnienia wymagań na Facebooku. Hive jest bardzo popularny wśród wszystkich użytkowników na Facebooku i jest używany do uruchamiania tysięcy zadań w klastrze z setkami użytkowników, dla szerokiej gamy aplikacji. Klaster Hive-Hadoop na Facebooku przechowuje ponad 2 PB surowych danych i regularnie codziennie ładuje 15 TB danych.

Spójrzmy na niektóre z jego funkcji, które sprawiają, że jest popularny i przyjazny dla użytkownika:



  • Umożliwia programistom podłączanie niestandardowych maperów i reduktorów.
  • Posiada infrastrukturę hurtowni danych.
  • Zawiera narzędzia umożliwiające łatwe ETL danych.
  • Definiuje podobny do SQL język zapytań o nazwie QL.

Przypadek użycia Apache Hive - Facebook:

Przykład zastosowania ula - Facebook

Przed wdrożeniem Hive Facebook stanął przed wieloma wyzwaniami, ponieważ rozmiar generowanych danych był zwiększany lub raczej eksplodowany, co bardzo utrudniało ich obsługę. Tradycyjny system RDBMS nie radził sobie z presją, w wyniku czego Facebook szukał lepszych opcji. Aby rozwiązać ten zbliżający się problem, Facebook początkowo próbował użyć Hadoop MapReduce, ale z trudnościami w programowaniu i obowiązkową znajomością języka SQL, stało się to niepraktycznym rozwiązaniem. Hive pozwolił im przezwyciężyć wyzwania, przed którymi stanęli.

Dzięki Hive mogą teraz wykonywać następujące czynności:



  • Tabele można podzielić na porcje i podzielić na kubki
  • Elastyczność i ewolucja schematów
  • Dostępne są sterowniki JDBC / ODBC
  • Tabele gałęzi można definiować bezpośrednio w systemie plików HDFS
  • Rozszerzalny - typy, formaty, funkcje i skrypty

Przykład zastosowania ula w opiece zdrowotnej:

Gdzie używać Hive?

Apache Hive może być używany w następujących miejscach:

  • Eksploracja danych
  • Przetwarzanie dziennika
  • Indeksowanie dokumentów
  • Business Intelligence wobec klienta
  • Modelowanie predykcyjne
  • Testowanie hipotez

Architektura ula:

jak przekonwertować binarne na dziesiętne w java

Ul składa się z następujących głównych elementów:

  • Metastore - do przechowywania metadanych.
  • JDBC / ODBC - Query Compiler and Execution Engine do konwersji zapytań SQL na sekwencję MapReduce.
  • SerDe i ObjectInspectors - dla formatów i typów danych.
  • UDF / UDAF - dla funkcji zdefiniowanych przez użytkownika.
  • Klienci - podobnie jak wiersz poleceń MySQL i interfejs sieciowy.

Składniki ula:

Metastore:

obsługa plików w przykładzie java

Metastore przechowuje informacje o tabelach, partycjach i kolumnach w tabelach. Istnieją 3 sposoby przechowywania w Metastore: Embedded Metastore, Local Metastore i Remote Metastore. Przeważnie Remote Metastore będzie używany w trybie produkcyjnym.

Ograniczenia ula:

Hive ma następujące ograniczenia i nie można go używać w takich okolicznościach:

  • Nie jest przeznaczony do przetwarzania transakcji online.
  • Zapewnia akceptowalne opóźnienie dla interaktywnego przeglądania danych.
  • Nie oferuje zapytań w czasie rzeczywistym ani aktualizacji na poziomie wiersza.
  • Opóźnienie zapytań Hive jest zazwyczaj bardzo duże.

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy, a my skontaktujemy się z Tobą.

Powiązane posty:

Hive Commands