Hive Opret tabel: Internt bord, Alter, Drop med eksempler
Bordlampe Operationer som f.eks Oprettelse, ændring og droppe tabeller i Hive kan ses i denne øvelse.
I nedenstående skærmbillede opretter vi en tabel med kolonner og ændrer tabelnavnet.
1. Oprettelse af tabel guru_sample med to kolonnenavne såsom "empid" og "empname"
2. Viser tabeller til stede i guru99 database
3. Guru_sample vises under tabeller
4. Ændring af tabellen "guru_sample" som "guru_sampleNew"
5. Igen, når du udfører "show" kommandoen, vil den vise det nye navn Guru_sampleNew
Dropping table guru_sampleNew:
Tabeltyper og dens anvendelse
Kommer til tabeller det er ligesom den måde, vi skaber i traditionelle relationelle databaser. Funktionaliteterne såsom filtrering, joins kan udføres på tabellerne.
Hive omhandler to typer tabelstrukturer som f.eks Internt og eksternt tabeller afhængig af indlæsning og design af skema i Hive.
Indvendige borde
- Internt bord er tæt koblet i naturen. I denne type tabel skal vi først oprette tabel og indlæse dataene.
- Vi kan kalde denne som data på skema.
- Ved at droppe denne tabel vil både data og skema blive fjernet.
- Den gemte placering af denne tabel vil være på /user/hive/warehouse.
Hvornår skal man vælge internt bord?
- Hvis behandlingsdataene er tilgængelige i det lokale filsystem
- Hvis vi ønsker, at Hive skal administrere hele livscyklussen af data, inklusive sletningen
Eksempelkodestykke til internt bord
1. For at oprette den interne tabel
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Indlæs 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. For at slippe den interne tabel
Hive>DROP TABLE guruhive_internaltable;
Hvis du droppede guruhive_internaltable, vil inklusive dens metadata og dens data blive slettet fra Hive.
Fra følgende skærmbillede kan vi observere outputtet
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
- For at droppe den interne tabel
Eksterne borde
- Eksternt bord er løst koblet i naturen. Data vil være tilgængelige i HDFS. Tabellen vil blive oprettet på HDFS-data.
- På anden måde kan vi sige, at det er at skabe skema om data.
- På tidspunktet for sletning af tabellen dropper det kun skemaet, 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 skemaet opdateres
Hvornår skal man vælge eksternt bord?
- Hvis der behandles data 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 delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Hvis vi ikke angiver placeringen på tidspunktet for oprettelse af tabellen, 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. For at slippe den interne tabel
Hive>DROP TABLE guruhive_external;
Fra følgende skærmbillede kan vi observere outputtet
I ovenstående kode gør vi følgende ting
- Opret den eksterne tabel
- Indlæs dataene i ekstern tabel
- Vis indholdet af tabellen
- Dropper eksternt bord
Forskellen mellem interne vs eksterne tabeller
Feature | Intern | Ekstern |
---|---|---|
Planlæg | Data om skema | Skema om data |
Opbevaring placering | /usr/hive/lager | HDFS placering |
Data tilgængelighed | Inden for det lokale filsystem | Inden for HDFS |