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

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.
  • 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

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 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

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
  • 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

Sammanfatta detta inlรคgg med: