Avilį kurti, pakeisti ir amp; Nuleidimo lentelė

Turinys:

Anonim

Šioje pamokoje galima stebėti lentelių operacijas, pvz., „Avilio“ lentelių kūrimas, pakeitimas ir numetimas .

Žemiau esančioje ekrano kopijoje kuriame lentelę su stulpeliais ir keičiame lentelės pavadinimą.

1. Sukurkite lentelę „guru_sample“ su dviem stulpelių pavadinimais, tokiais kaip „empid“ ir „empname“.

2. Lentelių, esančių „guru99“ duomenų bazėje, rodymas

3. Guru_pavyzdys, rodomas po lentelėmis

4. Lentelės „guru_sample“ pakeitimas kaip „guru_sampleNew“

5. Vėlgi, kai vykdote komandą „show“, ji parodys naują pavadinimą „Guru_sampleNew“

Dropping table guru_sampleNew:

Stalų tipai ir jų naudojimas:

Eiti į lenteles yra lygiai taip pat, kaip mes kuriame tradicinėse santykių duomenų bazėse. Lentelėse galima atlikti tokias funkcijas kaip filtravimas, sujungimai.

„Hive“ nagrinėja dviejų tipų lentelių struktūras, pvz., Vidines ir išorines lenteles, atsižvelgiant į „Hive“ schemos įkėlimą ir dizainą.

Vidinės lentelės

  • Vidinė lentelė yra glaudžiai susijusi. Šio tipo lentelėje pirmiausia turime sukurti lentelę ir įkelti duomenis.
  • Mes galime tai pavadinti schemos duomenimis .
  • Nuleidę šią lentelę, duomenys ir schema bus pašalinti.
  • Saugoma šios lentelės vieta bus / user / avilys / sandėlis.

Kada pasirinkti vidinę lentelę:

  • Jei tvarkymo duomenys prieinami vietinėje failų sistemoje
  • Jei norime, kad „Hive“ tvarkytų visą duomenų gyvavimo ciklą, įskaitant ištrynimą

Vidinės lentelės kodo fragmento pavyzdys

1. Norėdami sukurti vidinę lentelę

 Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields terminated by '\t';

2. Įdėkite duomenis į vidinę lentelę

 Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;

3. Parodykite lentelės turinį

 Hive>select * from guruhive_internaltable;

4. Numesti vidinę lentelę

 Hive>DROP TABLE guruhive_internaltable;

Jei numetėte „guruhive_internaltable“, įskaitant jo metaduomenis ir duomenis, jie bus ištrinti iš avilio.

Iš šios ekrano kopijos galime stebėti išvestį

Aukščiau pateiktame kode ir ekrano kopijoje mes atliekame tokius dalykus,

  • Sukurkite vidinę lentelę
  • Įkelkite duomenis į vidinę lentelę
  • Rodyti lentelės turinį
  • Numesti vidinę lentelę

Išorinės lentelės

  • Išorinis stalas yra laisvai sujungtas. Duomenys bus prieinami HDFS. Lentelė bus kuriama naudojant HDFS duomenis.
  • Kitu būdu galime pasakyti, kaip duomenų sukūrimo schema .
  • Metant lentelę ji numeta tik schemą, duomenys vis tiek bus prieinami HDFS, kaip ir anksčiau.
  • Išorinės lentelės suteikia galimybę sukurti kelias HDFS saugomų duomenų schemas, užuot ištrynus duomenis kiekvieną kartą, kai schema atnaujinama

Kada pasirinkti išorinę lentelę:

  • Jei apdorojami HDFS turimi duomenys
  • Naudinga, kai failai naudojami ne avilyje

Išorinės lentelės kodo fragmento pavyzdys

1. Sukurkite išorinę lentelę

Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)Row format delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;

2. Jei lentelės kūrimo metu nenurodome vietos, duomenis galime įkelti rankiniu būdu

 Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;

3. Parodykite lentelės turinį

 Hive>select * from guruhive_external;

4. Numesti vidinę lentelę

 Hive>DROP TABLE guruhive_external;

Iš šio ekrano kadro galime stebėti išvestį

Ankstesniame kode mes atliekame šiuos dalykus

  • Sukurkite išorinę lentelę
  • Įkelkite duomenis į išorinę lentelę
  • Rodyti lentelės turinį
  • Nuleidžiamas išorinis stalas

Skirtumas tarp vidinių Vs išorinių lentelių

Funkcija Vidinis Išorinis
Schema Duomenys apie schemą Duomenų schema
Saugyklos vieta / usr / avilys / sandėlis HDFS vieta
Duomenų prieinamumas Vietos bylų sistemoje HDFS