Tabellfunktioner som skapande, förändring och släppning av tabeller i Hive kan observeras i den här självstudien.
I skärmbilden 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 i guru99-databasen
3. Guru_exempel visas under tabeller
4. Ändra tabell "guru_sample" som "guru_sampleNew"
5. Återigen när du kör "visa" -kommandot, kommer det att visa det nya namnet Guru_sampleNew
Dropping table guru_sampleNew:
Tabelltyper och dess användning:
Att komma till tabeller är det precis som vi skapar i traditionella relationsdatabaser. Funktionerna som filtrering, sammanfogning kan utföras på tabellerna.
Hive behandlar två typer av tabellstrukturer som interna och externa tabeller beroende på laddning och utformning av schema i Hive.
Interna bord
- Intern tabell är tätt kopplad till sin natur. I denna typ av tabell måste vi först skapa tabell och ladda in data.
- Vi kan kalla den här som data om schemat .
- Genom att släppa denna tabell tas både data och schemat bort.
- Den lagrade platsen för denna tabell kommer att vara på / user / hive / warehouse.
När ska man välja interntabell:
- Om bearbetningsdata som finns tillgängliga i det lokala filsystemet
- Om vi vill att Hive ska hantera hela livscykeln för data inklusive radering
Exempelkodavsnitt för intern tabell
1. Skapa den interna tabellen
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields 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. Att tappa den interna tabellen
Hive>DROP TABLE guruhive_internaltable;
Om du tappade guruhive_internaltable, inklusive dess metadata och dess data kommer att tas bort från Hive.
Från följande skärmdump kan vi observera utdata
I ovanstående kod och från skärmdumpar gör vi följande saker,
- Skapa den interna tabellen
- Ladda data i den interna tabellen
- Visa innehållet i tabellen
- Att tappa det interna bordet
Externa tabeller
- 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 skapar schema på data .
- Vid tidpunkten för att tappa tabellen tappar det bara schema, data kommer fortfarande att finnas 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 ta bort data varje gång schemauppdateringar
När ska man välja extern tabell:
- Om bearbetning av data är tillgängliga 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 delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;
2. Om vi inte anger platsen när tabellen skapas kan vi ladda in 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. Att tappa den interna tabellen
Hive>DROP TABLE guruhive_external;
Från följande skärmdump kan vi observera utdata
I ovanstående kod gör vi följande saker
- Skapa den externa tabellen
- Ladda data i den externa tabellen
- Visa innehållet i tabellen
- Släppande externt bord
Skillnad mellan interna och externa tabeller
Funktion | Inre | Extern |
---|---|---|
Schema | Uppgifter om schemat | Schema för data |
Lagringsplats | / usr / bikupa / lager | HDFS-plats |
Datatillgänglighet | Inom det lokala filsystemet | Inom HDFS |