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 |




