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

Hive Skapa tabell

Dropping table guru_sampleNew:

Hive Skapa tabell

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

Interna tabeller

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

Externa tabeller

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