Hive Utwórz tabelę: tabela wewnętrzna, zmień, upuść z przykładami
Stół Operatakie jak Tworzenie, zmienianie i upuszczanie tabele w Hive można obejrzeć w tym samouczku.
Na poniższym zrzucie ekranu tworzymy tabelę z kolumnami i zmieniamy nazwę tabeli.
1. Tworzenie tabeli guru_sample z dwiema nazwami kolumn, takimi jak „empid” i „empname”
2. Wyświetlanie tabel znajdujących się w bazie guru99
3. Guru_sample wyświetlany pod tabelami
4. Zmiana tabeli „guru_sample” na „guru_sampleNew”
5. Ponownie, gdy wykonasz polecenie „show”, wyświetli się nowa nazwa Guru_sampleNew
Dropping table guru_sampleNew:
Typy tabel i ich zastosowanie
Zbliża się do Stoły przypomina to sposób, w jaki tworzymy w tradycyjnych relacyjnych bazach danych. Na tabelach można wykonywać takie funkcjonalności jak filtrowanie, łączenie.
Ul dotyczy dwóch typów struktur tabel, takich jak Wewnętrzny i zewnętrzny tabele w zależności od ładowania i projektu schematu w Hive.
Stoły wewnętrzne
- Stół wewnętrzny ma charakter ściśle ze sobą powiązany. W przypadku tego typu tabeli najpierw musimy utworzyć tabelę i załadować dane.
- Możemy to nazwać tzw dane na schemacie.
- Upuszczenie tej tabeli spowoduje usunięcie zarówno danych, jak i schematu.
- Zapisana lokalizacja tej tabeli będzie znajdować się w /user/hive/warehouse.
Kiedy wybrać stół wewnętrzny?
- Jeśli przetwarzanie danych jest dostępne w lokalnym systemie plików
- Jeśli chcemy, aby Hive zarządzał pełnym cyklem życia danych, łącznie z usuwaniem
Przykładowy fragment kodu dla tabeli wewnętrznej
1. Aby utworzyć tabelę wewnętrzną
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Załaduj dane do tabeli wewnętrznej
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Wyświetl zawartość tabeli
Hive>select * from guruhive_internaltable;
4. Aby upuścić stół wewnętrzny
Hive>DROP TABLE guruhive_internaltable;
Jeśli upuścisz guruhive_internaltable, łącznie z jego metadanymi i danymi, zostaną one usunięte z Hive.
Na poniższym zrzucie ekranu możemy zaobserwować wynik
W powyższym kodzie i na zrzucie ekranu wykonujemy następujące czynności:
- Utwórz tabelę wewnętrzną
- Załaduj dane do tabeli wewnętrznej
- Wyświetl zawartość tabeli
- Aby usunąć tabelę wewnętrzną
Tabele zewnętrzne
- Stół zewnętrzny ma charakter luźno powiązany. Dane będą dostępne w HDFS.Tabela zostanie utworzona na danych HDFS.
- Inaczej można powiedzieć jakby to było jego tworzenie schemat na danych.
- W momencie upuszczenia tabeli usuwany jest tylko schemat, dane będą nadal dostępne w HDFS, jak poprzednio.
- Tabele zewnętrzne umożliwiają tworzenie wielu schematów danych przechowywanych w systemie HDFS zamiast usuwania danych za każdym razem, gdy schemat jest aktualizowany
Kiedy wybrać stół zewnętrzny?
- Jeśli przetwarzane są dane dostępne w HDFS
- Przydatne, gdy pliki są używane poza Hive
Przykładowy fragment kodu dla tabeli zewnętrznej
1. Utwórz tabelę zewnętrzną
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Jeżeli w momencie tworzenia tabeli nie określimy lokalizacji, możemy wczytać dane ręcznie
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Wyświetl zawartość tabeli
Hive>select * from guruhive_external;
4. Aby upuścić stół wewnętrzny
Hive>DROP TABLE guruhive_external;
Na poniższym zrzucie ekranu możemy zaobserwować wynik
W powyższym kodzie wykonujemy następujące czynności
- Utwórz tabelę zewnętrzną
- Załaduj dane do tabeli zewnętrznej
- Wyświetl zawartość tabeli
- Upuszczanie stołu zewnętrznego
Różnica między tabelami wewnętrznymi i zewnętrznymi
| Cecha | Wewnętrzne | Zewnętrzny |
|---|---|---|
| schemat | Dane na schemacie | Schemat na danych |
| Miejsce przechowywania | /usr/hive/magazyn | Lokalizacja HDFS |
| Dostępność danych | W lokalnym systemie plików | W ramach HDFS |




