Co to jest ul?

Apache Hive to system hurtowni danych zaprojektowany na bazie platformy Hadoop typu open source i służy do podsumowywania danych, wysyłania zapytań o duże dane, analizy danych itp.

Ula został opracowany przez Facebooka, a później przejęła go Apache Software Foundation, która rozwinęła go jako open source pod nazwą Apache Hive.

Definicja:

Nie jest to relacyjna baza danych, dlatego nie nadaje się do przetwarzania transakcji online i zapytań w czasie rzeczywistym z aktualizacjami na poziomie wiersza. Hive jest przeznaczony do przetwarzania analitycznego online lub OLAP. Zapewnia również język zapytań o nazwie HiveQL. Jest skalowalny, szybki i rozszerzalny. Konwertuje zapytania wyglądające prawie jak SQL na zadania MapReduce w celu łatwego wykonywania i przetwarzania dużej ilości danych. Ula Apache jest jednym ze składników Hadoop, które są normalnie używane przez analityków danych, podczas gdy świnia Apache jest również używana do tego samego zadania, ale jest częściej używana przez badaczy i programistów. Ul Apache, będący systemem hurtowni danych typu open source, służy do przeszukiwania i analizowania ogromnych zestawów danych przechowywanych w magazynie Hadoop. Hive najlepiej nadaje się do zadań wsadowych, a nie do typów zadań przetwarzania transakcji online. Nie obsługuje również zapytań w czasie rzeczywistym. Hive używa języka zapytań podobnego do SQL i służy głównie do tworzenia raportów. Hive jest zwykle wdrażany po stronie serwera i obsługuje ustrukturyzowane dane. Hive obsługuje również integrację z narzędziami JDBC i BI.

Zrozumienie Hive:

Poniżej znajdują się główne elementy ula:

Sklep Meta:

Repozytorium, w którym są przechowywane metadane, nazywa się meta store hive. Metadane składają się z różnych danych o tabelach, takich jak jego lokalizacja, schemat, informacje o partycjach, które pomagają monitorować różnie rozproszony postęp danych w klastrze. Śledzi także dane i replikuje dane, co zapewnia kopie zapasowe w przypadku awarii, takich jak utrata danych. Informacje o metadanych są obecne w relacyjnych bazach danych, a nie w systemie plików Hadoop.

Kierowca:

Po wykonaniu instrukcji języka zapytań Hive sterownik odbiera instrukcję i kontroluje ją przez cały cykl wykonywania. Wraz z wykonaniem instrukcji sterownik przechowuje również metadane wygenerowane z wykonania. Tworzy również sesje do monitorowania postępu i cyklu życia różnych egzekucji. Po zakończeniu operacji redukcji przez zadanie MapReduce sterownik zbiera wszystkie dane i wyniki zapytania

Kompilator:

Służy do tłumaczenia języka zapytań Hive na dane MapReduce. Wywołuje metodę, która wykonuje kroki i zadania potrzebne do odczytania danych wyjściowych HiveQL zgodnie z wymaganiami MapReduce.

Optymalizator:

Głównym zadaniem optymalizatora jest poprawa wydajności i skalowalności, tworząc zadanie podczas transformacji danych przed operacją redukcji. Wykonuje również transformacje, takie jak agregacja, konwersja potoku za pomocą jednego połączenia dla wielu połączeń.

Wykonawca:

Po kroku kompilacji i optymalizacji głównym zadaniem modułu wykonującego jest wykonanie zadań. Głównym zadaniem modułu wykonującego jest interakcja z narzędziem do śledzenia zadań Hadoop w celu planowania zadań gotowych do uruchomienia.

Interfejs użytkownika, serwer Thrift i interfejs CLI:

Serwer oszczędzania jest używany przez innych klientów do interakcji z silnikiem Hive. Interfejs użytkownika i interfejs wiersza poleceń pomagają przesyłać zapytania, a także monitorowanie procesu i instrukcje, dzięki czemu użytkownicy zewnętrzni mogą wchodzić w interakcje z gałęzią.

Poniżej znajdują się kroki pokazujące interakcję gałęzi z platformą Hadoop:

Wykonanie zapytania:

Zapytanie jest wysyłane do sterownika z interfejsów gałęzi, takich jak wiersz poleceń lub internetowy interfejs użytkownika. Sterownik może być dowolnym sterownikiem bazy danych, takim jak JDB lub ODBC itp.

Uzyskanie planu:

Składnię wymaganą dla zapytania lub planu zapytań można sprawdzić za pomocą kompilatora zapytań, który przechodzi przez zapytanie i jest wywoływany przez sterownik.

Uzyskiwanie metadanych:

Magazyn meta może znajdować się w dowolnej bazie danych, a kompilator wysyła żądanie dostępu do metadanych.

Wysyłanie metadanych:

Na żądanie kompilatora meta store wysyła metadane.

Wysyłanie planu:

Kompilator wysyła plan do sterownika po sprawdzeniu wymagań przesłanych przez kompilator. Ten krok kończy parsowanie i kompilowanie zapytania.

Realizacja planu:

Sterownik wysyła plan wykonania do silnika wykonawczego.

Wykonanie zadania:

Wykonywanie zadania to zadanie MapReduce działające w wewnętrznej bazie danych. Następnie następuje normalna konwencja frameworka Hadoop - silnik wykonawczy wyśle ​​zadanie do modułu śledzenia zadań znajdującego się w węźle nazwy, a z kolei węzeł nazwy przypisze zadanie do modułu śledzenia zadań, który znajduje się w notatce danych. Tutaj wykonywane jest zadanie MapReduce.

Metadane ops:

Podczas wykonywania zadania silnik wykonawczy może wykonywać operacje na metadanych przy użyciu magazynu meta.

Pobieranie wyniku:

Węzły danych po zakończeniu przetwarzania przekazują wynik do silnika wykonawczego.

Wysyłanie wyniku

Sterownik otrzymuje wynik z silnika wykonawczego.

Wysyłanie wyników:

Wreszcie interfejsy Hive otrzymują wynik od sterownika.

Tak więc, poprzez wykonanie powyższych kroków, następuje pełne wykonanie zapytania w gałęzi.

W jaki sposób Hive sprawia, że ​​praca jest tak łatwa?

Hive to platforma hurtowni danych zbudowana na platformie Hadoop, która pomaga użytkownikowi w przeprowadzaniu analizy danych, wysyłaniu zapytań o dane i ich podsumowaniu w dużych ilościach zestawów danych. HiveQL to unikalna funkcja, która wygląda jak dane SQL przechowywane w bazie danych i wykonuje szczegółową analizę. Byłem w stanie odczytywać dane z bardzo dużą prędkością i zapisywać je w hurtowniach danych, a także zarządzać dużymi zestawami danych rozmieszczonymi w wielu lokalizacjach. Wraz z tym gałęzią zapewnia również strukturę danych przechowywanych w bazie danych, a użytkownicy mogą łączyć się z gałęzią za pomocą narzędzia wiersza polecenia lub sterownika JDBC.

Najlepsze firmy:

Duże organizacje pracujące z dużymi danymi korzystały z gałęzi - jak Facebook, Amazon, Walmart i wiele innych.

Co możesz zrobić z Hive?

Istnieje wiele funkcji gałęzi, takich jak zapytania danych, podsumowanie danych i analiza danych. Hive obsługuje język zapytań o nazwie HiveQL lub Hive Query Language. Zapytania języka zapytań Hive są tłumaczone na zadanie MapReduce, które jest przetwarzane w klastrze Hadoop. Oprócz tego Hiveql redukuje również skrypt, który można dodać do zapytań. W ten sposób HiveQL zwiększa elastyczność projektowania schematu, która obsługuje również deserializację danych i serializację danych.

Praca z gałęzią:

Poniżej znajdują się niektóre szczegóły operacyjne w Hive. Typy danych ula są ogólnie podzielone na cztery typy, jak podano poniżej:

  • Typy kolumn
  • Literały
  • Wartości zerowe
  • Typy złożone

1. Typy kolumn:

Są to typy danych kolumny ula. Są one sklasyfikowane jak poniżej:

  • Typy całkowe: Dane całkowite są reprezentowane przy użyciu typu danych integralnych. Symbolem jest INT. Wszelkie dane przekraczające górną granicę INT muszą mieć przypisany typ danych BIGINT. W ten sam sposób wszelkie dane poniżej dolnej granicy INT muszą mieć przypisane SMALLINT. Istnieje inny typ danych o nazwie TINYINT, który jest nawet mniejszy niż SMALLINT.
  • Typy ciągów: typ danych ciągów jest reprezentowany w gałęzi przez pojedynczy cudzysłów (') lub podwójne cudzysłowy („). Może być dwojakiego rodzaju - VARCHAR lub CHAR.
  • Znacznik czasu: Znacznik czasu Hive obsługuje format java.sql. Znacznik czasu „rrrr-mm-dd gg: mm: ss.ffffffffff” i format „RRRR-MM-DD GG: MM: SS.fffffffff”.
  • Data: Data jest reprezentowana w ulu w formacie RRRR-MM-DD reprezentującym rok-miesiąc-dzień.
  • Dziesiętne : Dziesiętne w ulu są reprezentowane w formacie dużego dziesiętnego języka Java i są używane do reprezentowania niezmiennej arbitralnej precyzji. Jest reprezentowany w formacie dziesiętnym (precyzja, skala).
  • Typy Unii: Unia jest używana w gałęzi do tworzenia kolekcji heterogenicznego typu danych. Można go utworzyć za pomocą funkcji tworzenia unii.

Poniżej znajduje się przykład:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literały:

W ulu jest niewiele literałów. Są jak poniżej:

  • Typ zmiennoprzecinkowy : Są reprezentowane jako liczby z przecinkiem dziesiętnym. Są one bardzo podobne do podwójnego typu danych.
  • Typ dziesiętny : ten typ danych zawiera tylko dane typu dziesiętnego, ale z wyższym zakresem wartości zmiennoprzecinkowych niż podwójny typ danych. Zakres typów dziesiętnych wynosi w przybliżeniu -10-308 do 10 308.

3. Wartość zerowa:

Specjalna wartość NULL reprezentuje brakujące wartości w ulu.

4. Typy złożone:

Poniżej znajdują się różne złożone typy znajdujące się w ulu:

  • Tablice : Tablice są reprezentowane w ulu w takiej samej formie jak java. Składnia jest podobna do ARRAY.
  • Mapy : mapy są reprezentowane w ulu w takiej samej formie jak java. Składnia jest podobna do MAP
  • .
  • Struktury : Struktury w ulu są reprezentowane jak złożone dane z komentarzami. Składnia jest podobna do STRUCT.

Oprócz tego wszystkiego możemy tworzyć bazy danych, tabele, dzielić je na partycje i wiele innych funkcji.

  • Bazy danych: są to przestrzenie nazw zawierające zbiór tabel. Poniżej znajduje się składnia umożliwiająca utworzenie bazy danych w gałęzi.

CREATE DATABASE (IF NOT EXISTS) sampled;

Bazy danych można również usunąć, jeśli nie są już potrzebne. Poniżej znajduje się składnia do usunięcia bazy danych.

DROP DATABASE (IF EXISTS) sampled;

  • Tabele: Można je również tworzyć w ulu do przechowywania danych. Poniżej znajduje się składnia do tworzenia tabeli.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Stół można również upuścić, jeśli nie jest już potrzebny. Poniżej znajduje się składnia do upuszczenia tabeli.

DROP TABLE (IF EXISTS) table_name;

Zalety

Główną zaletą Apache Hive jest tworzenie zapytań, podsumowanie i analiza danych. Hive został zaprojektowany z myślą o lepszej wydajności programisty, a także wiąże się z kosztem zwiększenia opóźnienia i zmniejszenia wydajności. Apache Hive zapewnia szeroki zakres funkcji zdefiniowanych przez użytkownika, które można łączyć z innymi pakietami Hadoop, takimi jak RHipe, Apache Mahout itp. Pomaga programistom w dużym stopniu podczas pracy ze złożonym przetwarzaniem analitycznym i wieloma formatami danych. Jest wykorzystywany głównie do hurtowni danych, co oznacza system wykorzystywany do raportowania i analizy danych.

Obejmuje czyszczenie, przekształcanie i modelowanie danych w celu dostarczenia użytecznych informacji o różnych aspektach biznesowych, które pomogą w osiągnięciu korzyści dla organizacji. Analiza danych zawiera wiele różnych aspektów i podejść, które obejmują różnorodne techniki o różnych nazwach w różnych modelach biznesowych, domenach nauk społecznych itp. Hive jest bardzo przyjazny dla użytkownika i umożliwia użytkownikom jednoczesny dostęp do danych, co skraca czas reakcji. W porównaniu z innymi typami zapytań na ogromnych zestawach danych, czas odpowiedzi ula jest znacznie szybszy niż w innych. Jest również bardzo elastyczny pod względem wydajności przy dodawaniu większej ilości danych i zwiększaniu liczby węzłów w klastrze.

Dlaczego powinniśmy korzystać z gałęzi?

Wraz z gałęzią analizy danych oferuje szeroki zakres opcji przechowywania danych w systemie plików HDFS. Hive obsługuje różne systemy plików, takie jak plik płaski lub plik tekstowy, plik sekwencji składający się z binarnych par klucz-wartość, pliki RC przechowujące kolumnę tabeli w kolumnowej bazie danych. W dzisiejszych czasach plik, który jest najbardziej odpowiedni dla Hive, jest znany jako pliki ORC lub pliki zoptymalizowanej kolumny wierszy.

Dlaczego potrzebujemy Hive?

W dzisiejszym świecie Hadoop jest kojarzony z najbardziej rozpowszechnionymi technologiami stosowanymi do przetwarzania dużych zbiorów danych. Bardzo bogaty zbiór narzędzi i technologii wykorzystywanych do analizy danych i innych procesów przetwarzania dużych zbiorów danych.

Kto jest odpowiedni do nauki technologii Hive?

Głównie osoby posiadające doświadczenie w pracy jako programiści, analitycy Hadoop, administratorzy systemu, hurtownie danych, SQL Professional i administracja Hadoop mogą opanować ule.

W jaki sposób ta technologia pomoże ci w rozwoju kariery?

Hive jest obecnie jedną z najpopularniejszych umiejętności na rynku i jest jednym z najlepszych narzędzi do analizy danych w świecie Big Data Hadoop. Duże przedsiębiorstwa analizujące duże zbiory danych zawsze szukają osób z prawami do umiejętności, aby móc zarządzać ogromnymi ilościami danych i sprawdzać je. Hive jest jednym z najlepszych narzędzi dostępnych na rynku w zakresie technologii dużych zbiorów danych w ostatnich dniach, które mogą pomóc organizacji z całego świata w analizie danych.

Wniosek:

Oprócz wyżej wymienionych funkcji ul ma znacznie bardziej zaawansowane możliwości. Moc gałęzi do przetwarzania dużej liczby zestawów danych z dużą dokładnością sprawia, że ​​gałęzie są jednym z najlepszych narzędzi wykorzystywanych do analizy na platformie dużych zbiorów danych. Poza tym ma duży potencjał, aby stać się jednym z wiodących narzędzi do analizy dużych zbiorów danych w nadchodzących dniach dzięki okresowej poprawie i łatwości użytkowania dla użytkownika końcowego.

Polecane artykuły

To był przewodnik po What Hive. Tutaj omówiliśmy pracę, umiejętności, rozwój kariery, zalety Hive i najlepszych firm wdrażających tę technologię. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Polecenia gałęzi
  2. Hive Pytania podczas wywiadu
  3. Co to jest Azure?
  4. Co to jest technologia Big Data?
  5. Architektura ula | Definicja
  6. Używanie funkcji ORDER BY w gałęzi

Kategoria: