Hive Create Table: Internal Table, Alter, Drop with Examples
Tabel Operațiuni precum Crearea, modificarea și eliminarea tabelele din Hive pot fi observate în acest tutorial.
În captura de ecran de mai jos, creăm un tabel cu coloane și modificăm numele tabelului.
1. Crearea tabelului guru_sample cu două nume de coloane, cum ar fi „empid” și „empname”
2. Afișarea tabelelor prezente în baza de date guru99
3. Guru_sample afișat sub tabele
4. Modificarea tabelului „guru_sample” ca „guru_sampleNew”
5. Din nou, când executați comanda „show”, va afișa noul nume Guru_sampleNew
Dropping table guru_sampleNew:
Tipuri de tabele și utilizarea acestuia
Vin la Mese este exact ca modul în care creăm în bazele de date relaționale tradiționale. Funcționalitățile precum filtrarea, îmbinările pot fi efectuate pe tabele.
Stup se ocupă cu două tipuri de structuri de tabel, cum ar fi Intern si extern tabele în funcție de încărcarea și proiectarea schemei în Hive.
Mesele interne
- Masa internă este strâns cuplată în natură. În acest tip de tabel, mai întâi trebuie să creăm un tabel și să încărcăm datele.
- Pe acesta îl putem numi ca date privind schema.
- Prin eliminarea acestui tabel, atât datele, cât și schema vor fi eliminate.
- Locația stocată a acestui tabel va fi la /user/hive/warehouse.
Când să alegi masa internă?
- Dacă datele de prelucrare sunt disponibile în sistemul de fișiere local
- Dacă dorim ca Hive să gestioneze întregul ciclu de viață al datelor, inclusiv ștergerea
Exemplu de fragment de cod pentru tabelul intern
1. Pentru a crea tabelul intern
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Încărcați datele în tabelul intern
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Afișați conținutul tabelului
Hive>select * from guruhive_internaltable;
4. Pentru a arunca tabelul intern
Hive>DROP TABLE guruhive_internaltable;
Dacă ați abandonat guruhive_internaltable, inclusiv metadatele și datele sale vor fi șterse din Hive.
Din următoarea captură de ecran, putem observa rezultatul
În codul de mai sus și din captura de ecran facem următoarele lucruri,
- Creați tabelul intern
- Încărcați datele în tabelul intern
- Afișați conținutul tabelului
- Pentru a arunca masa internă
Mese exterioare
- Masa externă este slab cuplată în natură. Datele vor fi disponibile în HDFS. Tabelul va fi creat pe datele HDFS.
- În alt mod, putem spune că a fost creată schema asupra datelor.
- În momentul eliminării tabelului, scade doar schema, datele vor fi încă disponibile în HDFS ca înainte.
- Tabelele externe oferă o opțiune de a crea mai multe scheme pentru datele stocate în HDFS în loc să șteargă datele de fiecare dată când schema se actualizează
Când să alegi masa externă?
- Dacă procesarea datelor este disponibilă în HDFS
- Util atunci când fișierele sunt utilizate în afara Hive
Exemplu de fragment de cod pentru tabel extern
1. Creați tabel extern
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Dacă nu specificăm locația în momentul creării tabelului, putem încărca datele manual
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Afișați conținutul tabelului
Hive>select * from guruhive_external;
4. Pentru a arunca tabelul intern
Hive>DROP TABLE guruhive_external;
Din următoarea captură de ecran, putem observa rezultatul
În codul de mai sus, facem următoarele lucruri
- Creați tabelul extern
- Încărcați datele în tabelul extern
- Afișați conținutul tabelului
- Scaderea mesei externe
Diferența dintre tabelele interne și externe
Caracteristică | Intern | Extern |
---|---|---|
Schemă | Date despre Schema | Schema pe date |
Locație de stocare | /usr/hive/warehouse | Locație HDFS |
Disponibilitatea datelor | În cadrul sistemului de fișiere local | În cadrul HDFS |