W tym poście na blogu omówimy najważniejsze polecenia programu Hive z przykładami. Te polecenia Hive są bardzo ważne, aby ustawić fundament .
Przewodnik po karierze technicznej Edureka 2019 już dostępny! Najpopularniejsze stanowiska pracy, precyzyjne ścieżki szkoleniowe, perspektywy branżowe i nie tylko w przewodniku. Ściągnij teraz.Co to jest Hive?
Apache Hive to system hurtowni danych zbudowany do pracy na platformie Hadoop. Służy do wykonywania zapytań i zarządzania dużymi zbiorami danych znajdującymi się w rozproszonym magazynie. Zanim Hive stał się projektem open source dla Apache Hadoop, powstał na Facebooku. Zapewnia mechanizm projektowania struktury danych w Hadoop i wykonywania zapytań dotyczących tych danych przy użyciu języka podobnego do SQL o nazwie HiveQL (HQL).
Hive jest używany, ponieważ tabele w programie Hive są podobne do tabel w relacyjnej bazie danych. Jeśli znasz SQL, to bułka z masłem. Wielu użytkowników może jednocześnie wysyłać zapytania do danych za pomocą Hive-QL.
Co to jest HQL?
Hive definiuje prosty język zapytań podobny do SQL do wykonywania zapytań i zarządzania dużymi zestawami danych o nazwie Hive-QL (HQL). Jest łatwy w użyciu, jeśli znasz język SQL. Hive umożliwia programistom znającym ten język pisanie niestandardowej struktury MapReduce w celu wykonywania bardziej wyrafinowanych analiz.
Zastosowania Hive:
1. Magazyn rozproszony Apache Hive.
2. Hive zapewnia narzędzia umożliwiające łatwe wyodrębnianie / przekształcanie / ładowanie danych (ETL)
3. Zapewnia strukturę dla różnych formatów danych.
4. Korzystając z Hive, możemy uzyskać dostęp do plików przechowywanych w rozproszonym systemie plików Hadoop (HDFS jest używany do wykonywania zapytań i zarządzania dużymi zbiorami danych znajdującymi się w) lub w innych systemach przechowywania danych, takich jak Apache HBase.
Ograniczenia ula:
Hive & bull nie jest przeznaczony do przetwarzania transakcji online (OLTP), jest używany tylko do przetwarzania analitycznego online.
& bull Hive obsługuje nadpisywanie lub zatrzymywanie danych, ale nie obsługuje aktualizacji i usuwania.
& byk W Hive zapytania podrzędne nie są obsługiwane.
Dlaczego Hive jest używany pomimo Pig?
Oto powody, dla których Hive jest używany pomimo dostępności Pig:
- Hive-QL to deklaratywny język liniowy SQL, a PigLatin to język przepływu danych.
- Pig: język przepływu danych i środowisko do eksploracji bardzo dużych zbiorów danych.
- Hive: rozproszony magazyn danych.
Składniki ula:
Metastore:
Hive przechowuje schemat tabel Hive w Hive Metastore. Metastore jest używany do przechowywania wszystkich informacji o tabelach i partycjach w hurtowni. Domyślnie magazyn metastore jest uruchamiany w tym samym procesie co usługa Hive, a domyślny magazyn metastore to DerBy Database.
SerDe:
Serializator, Deserializer podaje instrukcje gałęzi na temat przetwarzania rekordu.
Komendy ula:
Język definicji danych (DDL)
Instrukcje DDL służą do tworzenia i modyfikowania tabel i innych obiektów w bazie danych.
Polecenie DDL | Funkcjonować |
STWÓRZ | Służy do tworzenia tabeli lub bazy danych |
POKAZAĆ | Służy do wyświetlania bazy danych, tabeli, właściwości itp |
WIEK | Służy do wprowadzania zmian w istniejącej tabeli |
OPISAĆ | Opisuje kolumny tabeli |
ŚCIĘTY | Służy do trwałego obcinania i usuwania wierszy tabeli |
USUNĄĆ | Usuwa dane tabeli, ale można je przywrócić |
Przejdź do powłoki Hive, wydając polecenie sudo hive i wprowadź polecenie 'Stwórz Baza danych imię> ” aby utworzyć nową bazę danych w gałęzi.
Aby wyświetlić listę baz danych w hurtowni Hive, wprowadź polecenie „ pokaż bazy danych ”.
Baza danych jest tworzona w domyślnej lokalizacji magazynu Hive. W Cloudera baza danych Hive jest przechowywana w / user / hive / hurtowni.
Polecenie korzystania z bazy danych to POSŁUGIWAĆ SIĘ
Skopiuj dane wejściowe do HDFS z lokalnego za pomocą polecenia kopiuj z lokalnego.
Kiedy tworzymy tabelę w gałęzi, tworzy ona w domyślnej lokalizacji magazynu gałęzi. - „/ user / hive / hurtownia”, po utworzeniu tabeli możemy przenieść dane z HDFS do tabeli hive.
Następujące polecenie tworzy tabelę z lokalizacją „/user/hive/warehouse/retail.db”
Uwaga : retail.db to baza danych utworzona w hurtowni Hive.
Opisać zawiera informacje o schemacie tabeli.
różnica między przekazywaniem przez wartość a przekazywaniem przez odwołanie w java
Język manipulacji danymi (DML)
Instrukcje DML służą do pobierania, przechowywania, modyfikowania, usuwania, wstawiania i aktualizowania danych w bazie danych.
Przykład:
Instrukcje LOAD, INSERT.
Składnia:
ŁADUJ dane w ścieżce do tabeli [nazwa tabeli]
Operacja Load służy do przenoszenia danych do odpowiedniej tabeli Hive. Jeśli słowo kluczowe lokalny jest określony, to w poleceniu load poda ścieżkę lokalnego systemu plików. Jeśli słowo kluczowe local nie jest określone, musimy użyć ścieżki HDFS do pliku.
Oto kilka przykładów polecenia LOAD data LOCAL
Po załadowaniu danych do tabeli Hive możemy zastosować Instrukcje manipulacji danymi lub funkcje agregujące pobrać dane.
Przykład zliczania liczby rekordów:
Wykorzystywana jest funkcja agregująca zliczanie zliczania całkowitej liczby rekordów w tabeli.
„Utwórz zewnętrzną” tabelę:
Plik tworzyć zewnętrzne słowo kluczowe jest używane do tworzenia tabeli i zapewnia lokalizację, w której zostanie utworzona tabela, tak aby Hive nie używał domyślnej lokalizacji dla tej tabeli. Na ZEWNĘTRZNY tabela wskazuje na dowolną lokalizację HDFS do przechowywania zamiast domyślnego magazynu.
Wstaw polecenie:
Plik wstawić polecenie służy do ładowania tabeli danych Hive. Wstawienia można wprowadzić do tabeli lub partycji.
& bull INSERT OVERWRITE służy do nadpisywania istniejących danych w tabeli lub partycji.
& bull INSERT INTO służy do dołączania danych do istniejących danych w tabeli. (Uwaga: składnia INSERT INTO działa od wersji 0.8)
Przykład polecenia „Podzielone według” i „Grupowane według”:
„Podzielony przez „Służy do dzielenia tabeli na partycję i może być podzielony na segmenty za pomocą„ Skupione według ' Komenda.
Kiedy wstawiamy błędy generowania danych przez gałąź Hive, tryb partycji dynamicznej jest ścisły, a partycja dynamiczna nie jest włączona (przez Jeff w strona dresshead ). Musimy więc ustawić następujące parametry w powłoce Hive.
ustaw hive.exec.dynamic.partition = true
Aby włączyć partycje dynamiczne, domyślnie jest to fałsz
set hive.exec.dynamic.partition.mode = nonstrict
Podział odbywa się według kategorii i można go podzielić na segmenty za pomocą polecenia „Grupowane według”.
Instrukcja „Drop Table” usuwa dane i metadane tabeli. W przypadku tabel zewnętrznych usuwane są tylko metadane.
Instrukcja „Drop Table” usuwa dane i metadane tabeli. W przypadku tabel zewnętrznych usuwane są tylko metadane.
Załaduj dane lokalne w ścieżce „aru.txt” do tabeli nazwa_tabeli, a następnie sprawdzamy tabelę pracownika1 za pomocą polecenia Wybierz * z nazwy tabeli
Aby policzyć liczbę rekordów w tabeli za pomocą Wybierz liczyć(*) z txnrecords
Agregacja:
Wybierz liczbę (kategoria DISTINCT) z nazwy tabeli
To polecenie policzy różne kategorie tabeli „cate”. Tutaj są 3 różne kategorie.
Załóżmy, że istnieje inna kategoria tabeli, w której f1 to nazwa pola kategorii.
merge sort c ++ implementacja
Grupowanie:
Polecenie Group służy do grupowania zestawu wyników według jednej lub kilku kolumn.
Wybierz kategorię, sumę (kwotę) z rekordów txt pogrupuj według kategorii
Oblicza kwotę tej samej kategorii.
Wynik jednej tabeli jest przechowywany w innej tabeli.
Utwórz tabelę newtablename as select * from oldtablename
Dołącz do polecenia:
Tutaj w nazwie powstaje jeszcze jedna tabela „Maile”
Dołącz do operacji :
Operacja Join jest wykonywana w celu łączenia pól z dwóch tabel przy użyciu wartości wspólnych dla każdej z nich.
Lewe połączenie zewnętrzne :
Wynik lewego zewnętrznego sprzężenia (lub po prostu lewego połączenia) dla tabel A i B zawsze zawiera wszystkie rekordy „lewej” tabeli (A), nawet jeśli warunek łączenia nie znajdzie żadnego pasującego rekordu w „prawej” tabeli (B).
Prawe połączenie zewnętrzne :
Prawe sprzężenie zewnętrzne (lub prawe sprzężenie) bardzo przypomina lewe sprzężenie zewnętrzne, z wyjątkiem odwrócenia traktowania tabel. Każdy wiersz z „prawej” tabeli (B) pojawi się w połączonej tabeli przynajmniej raz.
Pełne dołączenie :
Połączona tabela będzie zawierać wszystkie rekordy z obu tabel i wypełnić wartości NULL dla brakujących dopasowań po obu stronach.
Po zakończeniu pracy z gałęzią możemy użyć polecenia quit, aby wyjść z powłoki ula.
Hive to tylko część wielkiej układanki zwanej Big Data i Hadoop. Hadoop to znacznie więcej niż tylko Hive. Kliknij poniżej, aby zobaczyć, jakie inne umiejętności powinieneś opanować w Hadoop.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.
Powiązane posty:
7 sposobów, w jakie szkolenia z zakresu Big Data mogą zmienić Twoją organizację