Tabelhandlinger som oprettelse, ændring og dropping af tabeller i Hive kan observeres i denne vejledning.
I nedenstående skærmbillede opretter vi en tabel med kolonner og ændrer tabelnavnet.
1. Oprettelse af tabel guru_sample med to kolonnenavne som "empid" og "empname"
2. Visning af tabeller i guru99-databasen
3. Guru_sample vises under tabeller
4. Ændring af tabel "guru_sample" som "guru_sampleNew"
5. Igen når du udfører "show" -kommandoen, viser den det nye navn Guru_sampleNew
Dropping table guru_sampleNew:
Bordtyper og dens anvendelse:
At komme til tabeller er ligesom den måde, vi opretter i traditionelle relationsdatabaser. Funktionerne såsom filtrering, sammenføjninger kan udføres på bordene.
Hive beskæftiger sig med to typer tabelstrukturer som interne og eksterne tabeller afhængigt af indlæsning og design af skema i Hive.
Interne tabeller
- Intern tabel er tæt forbundet i naturen. I denne type bord skal vi først oprette tabel og indlæse dataene.
- Vi kan kalde denne som data om skema .
- Ved at droppe denne tabel fjernes både data og skema.
- Den gemte placering af denne tabel vil være på / bruger / bikube / lager.
Hvornår skal man vælge intern tabel:
- Hvis de behandlingsdata, der er tilgængelige i det lokale filsystem
- Hvis vi ønsker, at Hive skal administrere den komplette livscyklus af data inklusive sletning
Eksempelkodestykke til intern tabel
1. For at oprette den interne tabel
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields terminated by '\t';
2. Læg dataene i den interne tabel
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Vis indholdet af tabellen
Hive>select * from guruhive_internaltable;
4. At droppe den interne tabel
Hive>DROP TABLE guruhive_internaltable;
Hvis du droppede guruhive_internaltable, inklusive dens metadata og dens data, slettes det fra Hive.
Fra det følgende skærmbillede kan vi observere output
I ovenstående kode og fra skærmbillede gør vi følgende ting,
- Opret den interne tabel
- Indlæs dataene i den interne tabel
- Vis indholdet af tabellen
- At droppe den interne tabel
Eksterne tabeller
- Eksternt bord er løst koblet i naturen. Data vil være tilgængelige i HDFS. Tabellen oprettes på HDFS-data.
- På en anden måde kan vi sige, at det skaber skema på data .
- På tidspunktet for tabning af tabellen falder det kun skema, dataene vil stadig være tilgængelige i HDFS som før.
- Eksterne tabeller giver mulighed for at oprette flere skemaer for de data, der er gemt i HDFS i stedet for at slette dataene hver gang, når skemaopdateringer
Hvornår skal man vælge ekstern tabel:
- Hvis behandling af data er tilgængelige i HDFS
- Nyttigt, når filerne bruges uden for Hive
Eksempelkodestykke til ekstern tabel
1. Opret ekstern tabel
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)Row format delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;
2. Hvis vi ikke angiver placeringen på tidspunktet for bordoprettelsen, kan vi indlæse dataene manuelt
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Vis indholdet af tabellen
Hive>select * from guruhive_external;
4. At droppe den interne tabel
Hive>DROP TABLE guruhive_external;
Fra det følgende skærmbillede kan vi observere output
I ovenstående kode gør vi følgende ting
- Opret den eksterne tabel
- Indlæs dataene i den eksterne tabel
- Vis indholdet af tabellen
- Drop eksternt bord
Forskel mellem interne vs eksterne tabeller
Funktion | Indre | Ekstern |
---|---|---|
Skema | Data om skema | Skema for data |
Opbevaringssted | / usr / bikube / lager | HDFS placering |
Datatilgængelighed | Inden for lokalt filsystem | Inden for HDFS |