Samouczek Hive dla początkujących: nauka na przykładach w 3 dni

Podsumowanie samouczka Hive


Apache Hive pomaga w bardzo szybkim wykonywaniu zapytań i zarządzaniu dużymi zbiorami danych. To jest Narzędzie ETL dla ekosystemu Hadoop. W tym samouczku Apache Hive dla początkujących nauczysz się podstaw Hive i ważnych tematów, takich jak zapytania HQL, ekstrakcje danych, partycje, kontenery itd. Ta seria samouczków Hive pomoże Ci poznać koncepcje i podstawy Hive.

Co powinienem wiedzieć?


Aby zapoznać się z tym samouczkiem dotyczącym zapytań Hive, potrzebujesz podstawowej wiedzy na temat SQL, Hadoop oraz znajomość innych baz danych będzie dodatkową pomocą.

Program kursu Hive

Wprowadzenie

👍 Lessna 1 Co to jest ul? - Architectura i tryby
👍 Lessna 2 Pobierz i zainstaluj HIVE — Jak pobrać i zainstalować HIVE na Ubuntu
👍 Lessna 3 Konfiguracja metastore HIVE — Dlaczego używać MySQL?
👍 Lessna 4 Typy danych ula — Utwórz i upuść bazę danych w Hive

Zaawansowane rzeczy

👍 Lessna 1 Hive Utwórz tabelę — Rodzaje i ich zastosowanie
👍 Lessna 2 Przegrody i wiadra ula — Ucz się na przykładzie
👍 Lessna 3 Indeksy i widok Hive — Ucz się na przykładzie
👍 Lessna 4 Zapytania dotyczące ula — Ucz się na przykładzie
👍 Lessna 5 Samouczek dotyczący łączenia i podkwerend Hive — Ucz się na przykładzie
👍 Lessna 6 Samouczek dotyczący języka zapytań Hive — Wbudowany Operatorsy
👍 Lessna 7 Funkcja ula — Funkcje wbudowane i zdefiniowane przez użytkownika
👍 Lessna 8 Ula ETL — Ładowanie przykładów danych JSON, XML i tekstowych

Wprowadzenie do Hive

Hive ewoluowało jako rozwiązanie do hurtowni danych zbudowane na platformie Hadoop Map-Reduce.

Rozmiar zbiorów danych gromadzonych i analizowanych w branży business intelligence rośnie i w pewnym sensie sprawia, że ​​tradycyjne rozwiązania w zakresie magazynowania danych stają się droższe. Hadoop z frameworkiem MapReduce, jest używany jako alternatywne rozwiązanie do analizy zbiorów danych o dużych rozmiarach. Chociaż Hadoop okazał się przydatny do pracy na ogromnych zbiorach danych, jego framework MapReduce jest na bardzo niskim poziomie i wymaga od programistów pisania niestandardowych programów, które są trudne w utrzymaniu i ponownym użyciu. Hive przybywa tu na ratunek programistom.


Silnik ula kompiluje te zapytania do zadań Map-Reduce, które mają być wykonywane na Hadoop. Ponadto niestandardowe skrypty Map-Reduce mogą być również podłączane do zapytań. Hive działa na danych przechowywanych w tabelach, które składają się z prymitywnych typów danych i typów danych kolekcji, takich jak tablice i mapy.

Hive jest wyposażony w interfejs powłoki wiersza poleceń, którego można używać do tworzenia tabel i wykonywania zapytań.

Język zapytań Hive jest podobny do języka SQL, w którym obsługuje podzapytania. Dzięki językowi zapytań Hive możliwe jest wykonywanie złączeń MapReduce w tabelach Hive. Posiada wsparcie dla prostych Funkcje podobne do SQL– CONCAT, SUBSTR, ROUND itp. oraz funkcje agregujące– SUM, COUNT, MAX itp. Obsługuje także klauzule GROUP BY i SORT BY. Możliwe jest również pisanie funkcji zdefiniowanych przez użytkownika w języku zapytań Hive.

Co to jest ul?

Ula Apache to platforma hurtowni danych służąca do wykonywania zapytań i analizy danych przechowywanych w systemie HDFS. Jest rozwijany na platformie Hadoop. Hive to oprogramowanie typu open source do analizowania dużych zbiorów danych w Hadoop. Zapewnia język deklaratywny podobny do SQL, zwany HiveQL, do wyrażania zapytań. Korzystając z Hive-QL, użytkownicy są związani z SQL potrafi z łatwością przeprowadzić analizę danych.

Zmniejszenie mapy Hive kontra mapa

Zanim wybierzemy jedną z tych dwóch opcji, musimy przyjrzeć się niektórym ich cechom.

Przy wyborze pomiędzy Hive i Map Reduce brane są pod uwagę następujące czynniki:

  • Rodzaj danych
  • Ilość danych
  • Złożoność kodu

Zmniejszenie mapy Hive kontra mapa?

Cecha Ul Zmniejszenie mapy
Wybierz język Obsługuje język zapytań podobny do SQL do interakcji i modelowania danych
  • Kompiluje język, mając w nim dwa główne zadania. Jedno to zadanie mapy, a drugie to reduktor.
  • Możemy zdefiniować te zadania za pomocą Java or Python
Poziom abstrakcji Wyższy poziom abstrakcji w porównaniu z HDFS Niższy poziom abstrakcji
Wydajność w kodzie Stosunkowo mniejsze niż redukcja mapy Zapewnia wysoką wydajność
Zakres kodu Less liczba linii kodu wymagana do wykonania Większa liczba linii kodów do zdefiniowania
Rodzaj wymaganych prac rozwojowych Less Wymagane prace rozwojowe Potrzebne są dalsze prace rozwojowe
Kliknij na Następny samouczek