Hive Skapa tabell: Intern tabell, Alter, Drop med exempel
Bord Operationer som t.ex Skapande, รคndring och slรคckningping tabeller i Hive kan observeras i denna handledning.
I skรคrmdumpen nedan skapar vi en tabell med kolumner och รคndrar tabellnamnet.
1. Skapa tabell guru_sample med tvรฅ kolumnnamn som "empid" och "empname"
2. Visar tabeller som finns i guru99-databasen
3. Guru_exempel som visas under tabeller
4. รndra tabellen "guru_sample" till "guru_sampleNew"
5. ร terigen, nรคr du kรถr kommandot "visa" visas det nya namnet Guru_exempelNytt
Dropping table guru_sampleNew:
Tabelltyper och dess anvรคndning
Kommer till Bord det รคr precis som vi skapar i traditionella relationsdatabaser. Funktionerna som filtrering, joins kan utfรถras pรฅ tabellerna.
Bikupa behandlar tvรฅ typer av tabellstrukturer som Internt och externt tabeller beroende pรฅ laddning och design av schemat i Hive.
Interna bord
- Internt bord รคr tรคtt kopplat till sin natur. I denna typ av tabell mรฅste vi fรถrst skapa tabell och ladda data.
- Vi kan kalla denna som data pรฅ schema.
- Droppvisping i den hรคr tabellen kommer bรฅde data och schema att tas bort.
- Den lagrade platsen fรถr denna tabell kommer att vara /user/hive/warehouse.
Nรคr ska man vรคlja internt bord?
- Om bearbetningsdata finns i det lokala filsystemet
- Om vi โโvill att Hive ska hantera hela livscykeln fรถr data inklusive raderingen
Exempelkodavsnitt fรถr internt bord
1. Fรถr att skapa den interna tabellen
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Ladda data i den interna tabellen
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Visa innehรฅllet i tabellen
Hive>select * from guruhive_internaltable;
4. Fรถr att ta bort den interna tabellen
Hive>DROP TABLE guruhive_internaltable;
Om du tappade guruhive_internaltable kommer inklusive dess metadata och dess data att raderas frรฅn Hive.
Frรฅn fรถljande skรคrmdump kan vi observera resultatet
I ovanstรฅende kod och frรฅn skรคrmdump gรถr vi fรถljande saker,
- Skapa den interna tabellen
- Ladda data till den interna tabellen
- Visa innehรฅllet i tabellen
- Fรถr att slรคppa den interna tabellen
Externa bord
- Externt bord รคr lรถst kopplat till sin natur. Data kommer att finnas tillgรคngliga i HDFS. Tabellen kommer att skapas pรฅ HDFS-data.
- Pรฅ annat sรคtt kan vi sรคga som att det skapas schema รถver data.
- Vid tidpunkten fรถr nedslรคppetping Tabellen tar den bara bort schemat, data kommer fortfarande att vara tillgรคngliga i HDFS som tidigare.
- Externa tabeller ger mรถjlighet att skapa flera scheman fรถr data som lagras i HDFS istรคllet fรถr att radera data varje gรฅng nรคr schema uppdateras
Nรคr ska man vรคlja externt bord?
- Om bearbetning av data tillgรคnglig i HDFS
- Anvรคndbart nรคr filerna anvรคnds utanfรถr Hive
Exempelkodavsnitt fรถr extern tabell
1. Skapa extern tabell
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Om vi โโinte anger platsen vid tidpunkten fรถr tabellskapandet kan vi ladda data manuellt
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Visa innehรฅllet i tabellen
Hive>select * from guruhive_external;
4. Fรถr att ta bort den interna tabellen
Hive>DROP TABLE guruhive_external;
Frรฅn fรถljande skรคrmdump kan vi observera resultatet
I ovanstรฅende kod gรถr vi fรถljande saker
- Skapa den externa tabellen
- Ladda data till extern tabell
- Visa innehรฅllet i tabellen
- Dropping extern tabell
Skillnad mellan Interna Vs Externa tabeller
| Leverans | Inre | Yttre |
|---|---|---|
| Schema | Data om Schema | Schema pรฅ data |
| Lagringsplats | /usr/hive/lager | HDFS-plats |
| Data tillgรคnglighet | Inom det lokala filsystemet | Inom HDFS |




