W tym samouczku można zaobserwować operacje na tabelach, takie jak tworzenie, zmienianie i usuwanie tabel w gałęzi.
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 danych guru99
3. Guru_sample wyświetlane pod tabelami
4. Zmiana tabeli „guru_sample” na „guru_sampleNew”
5. Ponownie, kiedy wykonasz polecenie "show", wyświetli się nowa nazwa Guru_sampleNew
Dropping table guru_sampleNew:
Typy tabel i ich użycie:
W przypadku tabel jest to tak samo, jak sposób, w jaki tworzymy w tradycyjnych relacyjnych bazach danych. Na tabelach można wykonywać takie funkcjonalności jak filtrowanie, łączenia.
Hive obsługuje dwa typy struktur tabel, takie jak tabele wewnętrzne i zewnętrzne, w zależności od ładowania i projektowania schematu w gałęzi.
Tabele wewnętrzne
- Tabela wewnętrzna ma charakter ściśle sprzężony, w tego typu tabeli najpierw musimy utworzyć tabelę i załadować dane.
- Możemy to nazwać danymi w schemacie .
- Usunięcie tej tabeli spowoduje usunięcie zarówno danych, jak i schematu.
- Przechowywana lokalizacja tej tabeli to / user / hive / storage.
Kiedy wybrać tabelę wewnętrzną:
- Jeśli przetwarzanie danych jest dostępne w lokalnym systemie plików
- Jeśli chcemy, aby Hive zarządzał całym cyklem życia danych, w tym ich usuwaniem
Przykładowy fragment kodu dla tabeli wewnętrznej
1. Aby utworzyć wewnętrzną tabelę
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields terminated by '\t';
2. Załaduj dane do wewnętrznej tabeli
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Wyświetl zawartość tabeli
Hive>select * from guruhive_internaltable;
4. Aby usunąć wewnętrzną tabelę
Hive>DROP TABLE guruhive_internaltable;
Jeśli upuściłeś tabelę guruhive_internaltable, w tym jej metadane i dane, zostaną usunięte z Hive.
Na poniższym zrzucie ekranu możemy obserwować dane wyjściowe
W powyższym kodzie i ze zrzutu ekranu robimy następujące rzeczy,
- Utwórz tabelę wewnętrzną
- Załaduj dane do wewnętrznej tabeli
- Wyświetl zawartość tabeli
- Aby usunąć wewnętrzną tabelę
Tabele zewnętrzne
- Stół zewnętrzny ma charakter luźno powiązany. Dane będą dostępne w HDFS, a tabela zostanie utworzona na danych HDFS.
- Innymi słowy, możemy powiedzieć, że jest to tworzenie schematu na danych .
- W momencie upuszczenia tabeli spada tylko schemat, dane będą nadal dostępne w HDFS, jak poprzednio.
- Tabele zewnętrzne zapewniają opcję tworzenia wielu schematów dla danych przechowywanych w HDFS zamiast usuwania danych za każdym razem, gdy schemat aktualizuje się
Kiedy wybrać tabelę zewnętrzną:
- Jeśli przetwarzanie danych jest dostępne w formacie 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 delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;
2. Jeśli nie określimy lokalizacji w momencie tworzenia tabeli, możemy załadować 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 usunąć wewnętrzną tabelę
Hive>DROP TABLE guruhive_external;
Na poniższym zrzucie ekranu możemy obserwować dane wyjściowe
W powyższym kodzie wykonujemy następujące czynności
- Utwórz tabelę zewnętrzną
- Załaduj dane do zewnętrznej tabeli
- Wyświetl zawartość tabeli
- Upuszczanie tabeli zewnętrznej
Różnica między tabelami wewnętrznymi a zewnętrznymi
Funkcja | Wewnętrzny | Zewnętrzny |
---|---|---|
Schemat | Dane w schemacie | Schemat danych |
Miejsce przechowywania | / usr / hive / storage | Lokalizacja HDFS |
Dostępność danych | W lokalnym systemie plików | W ramach HDFS |