Hive Skapa tabell: Intern tabell, Alter, Drop med exempel
Bord Operationer som t.ex Skapa, ändra och släppa 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_sample visas under tabeller
4. Ändra tabellen "guru_sample" till "guru_sampleNew"
5. Återigen, när du kör "show"-kommandot, kommer det att visa det nya namnet Guru_sampleNew
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.
- Genom att ta bort 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 att ta bort tabellen släpper det endast 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
- Tappa externt bord
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 |