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:
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: