Hive ca instrument ETL și de stocare a datelor pe partea de sus a ecosistemului Hadoop oferă funcționalități precum modelarea datelor, manipularea datelor, procesarea datelor și interogarea datelor. Extragerea datelor în Hive înseamnă crearea de tabele în Hive și încărcarea datelor structurate și semi-structurate, precum și interogarea datelor pe baza cerințelor.
Pentru procesarea în serie, vom scrie scripturi personalizate folosind o hartă personalizată și vom reduce scripturile folosind un limbaj de scriptare. Oferă mediu SQL și suport pentru interogări ușoare.
În acest tutorial, veți învăța-
- Lucrul cu date structurate folosind Hive
- Lucrul cu date semi-structurate folosind Hive (XML, JSON)
- Hive în proiecte în timp real - Când și unde să se utilizeze
Lucrul cu date structurate folosind Hive
Date structurate înseamnă că datele sunt în formatul corect de rânduri și coloane. Acest lucru este mai mult ca datele RDBMS cu rânduri și coloane adecvate.
Aici vom încărca date structurate prezente în fișiere text în Hive
Pasul 1) În acest pas creăm tabelul „angajați_guru” cu nume de coloane precum Id, Nume, Vârstă, Adresă, Salariu și Departamentul angajaților cu tipuri de date.
Din captura de ecran de mai sus, putem observa următoarele,
- Crearea tabelului "angajați_guru"
- Încărcarea datelor de la Employees.txt în tabelul „employee_guru”
Pasul 2) În acest pas afișăm conținutul stocat în acest tabel utilizând comanda „Selectare”. Putem observa conținutul tabelului în următoarea captură de ecran.
- Exemplu de fragment de cod
Interogări care trebuie efectuate
1) Create table employees_guru(Id INT, Name STRING, Age INT, Address STRING, Salary FLOAT, Department STRING)> Row format delimited> Fields terminated by ',';2) load data local inpath '/home/hduser/Employees.txt' into TABLE employees_guru;3) select * from employees_guru;
Lucrul cu date semi-structurate folosind Hive (XML, JSON)
Hive efectuează funcționalități ETL în ecosistemul Hadoop acționând ca instrument ETL. Poate fi dificil să efectuați reducerea hărții în anumite tipuri de aplicații, Hive poate reduce complexitatea și oferă cea mai bună soluție aplicațiilor IT în ceea ce privește sectorul de depozitare a datelor.
Datele semi-structurate precum XML și JSON pot fi procesate cu mai puțină complexitate folosind Hive. Mai întâi vom vedea cum putem folosi Hive pentru XML.
TABEL XML TO HIVE
În acest sens, vom încărca date XML în tabelele Hive și vom prelua valorile stocate în etichetele XML.
Pasul 1) Crearea tabelului "xmlsample_guru" cu coloana str cu tip de date șir.
Din captura de ecran de mai sus, putem observa următoarele
- Crearea tabelului "xmlsample_guru"
- Se încarcă datele din test.xml în tabelul „xmlsample_guru”
Pasul 2) Folosind metoda XPath () vom putea prelua datele stocate în etichetele XML.
Din captura de ecran de mai sus, putem observa următoarele
- Folosind metoda XPATH () preluăm valorile stocate sub / emp / esal / și / emp / ename /
- Valorile prezente în etichetele XML Inside. În acest pas, afișăm valorile reale stocate sub etichete XML în tabelul „xmlsample_guru”
Pasul 3) În acest pas, vom prelua și afișa XML-ul brut al tabelului "xmlsample_guru".
Din captura de ecran de mai sus, putem observa următoarele
- Datele XML reale afișate cu etichete
- Dacă observăm o singură etichetă, este cu „emp” ca etichetă părinte cu „ename” și „esal” ca etichete copil.
Fragment de cod:
Interogări care trebuie efectuate
1) create table xmlsample_guru(str string); 2) load data local inpath '/home/hduser/test.xml' overwrite into table xmlsample_guru;3) select xpath(str,'emp/ename/text()'), xpath(str,'emp/esal/text()') from xmlsample_guru;
JSON (Notare obiect JavaScript)
Datele Twitter și site-urile web sunt stocate în format JSON. Ori de câte ori încercăm să preluăm date de pe servere online, vom returna fișiere JSON. Folosind Hive ca magazin de date putem încărca date JSON în tabelele Hive prin crearea de scheme.
MESAJ JSON TO HIVE
În acest sens, vom încărca datele JSON în tabelele Hive și vom prelua valorile stocate în schema JSON.
Pasul 1) În acest pas, vom crea numele tabelului JSON "json_guru". Odată creat încărcarea și afișarea conținutului schemei reale.
Din captura de ecran de mai sus, putem observa următoarele
- Crearea tabelului "json_guru"
- Se încarcă datele din test.json în tabelul „json_guru”
- Afișarea schemei reale a fișierului JSON stocat în tabelele json_guru
Pasul 2) Folosind metoda get_json_object () putem prelua valorile de date stocate în ierarhia JSON
Din captura de ecran de mai sus putem observa următoarele
- Folosind get_json_object (str, '$. Ecode) se pot prelua valori ecode din tabelul json_guru. În mod similar, folosind get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) va prelua valorile ename sal din tabelul json_guru
- Valorile stocate în interiorul ierarhiei JSON în json_guru
Fragment de cod
Interogări care trebuie efectuate
1) create table json_guru(str string);2) load data inpath 'home/hduser/test.json' into table json_guru;3) select * from json1;4) select get_json_object(str,'$.ecode') as ecode, get_json_object(str,'$.ename') as ename ,get_json_object(str,'$.sal') as salary from json_guru;
Complex JSON TO HIVE TABLE
În acest sens, vom încărca date complexe JSON în tabelele Hive și vom prelua valorile stocate în schema JSON
Pasul 1) Crearea complexjson_guru cu câmp cu o singură coloană
Din captura de ecran de mai sus, putem observa următoarele
- Creare pe tabel complexjson_guru cu câmp cu o singură coloană ca tip de șir de date
- Se încarcă datele în complexjson_guru din fișierul JSON complex emp.json
Pasul 2) Prin utilizarea get_json_object putem prelua conținutul real stocat în ierarhia fișierului JSON.
Din următoarea captură de ecran, putem vedea ieșirea datelor stocate în complexjson_guru.
Pasul 3) În acest pas, folosind comanda „Selectare” putem vedea datele complexe JSON stocate în tabelul „complexjson_guru”
-Exemplu de fragment de cod,
Interogări care trebuie efectuate
1) create table complexjson_guru(json string);2) load data inpath 'home/hduser/emp.json' into table complexjson_guru;3) select get_json_object(json,'$.ecode') as ecode ,get_json_object(json,'$.b') as code, get_json_object(json,'$.c') from complexjson_guru;4) select * from complexjson_guru;
Hive în proiecte în timp real - Când și unde să se utilizeze
Când și unde să utilizați Hive pe ecosistemul Hadoop:
Când
- Când lucrați cu funcții statistice puternice și puternice pe ecosistemul Hadoop
- Când lucrați cu prelucrarea datelor structurate și semi-structurate
- Ca instrument de stocare a datelor cu Hadoop
- Ingerarea datelor în timp real cu HBASE, Hive poate fi utilizată
Unde
- Pentru o utilizare mai ușoară a instrumentului de stocare a datelor și ETL
- Pentru a oferi mediu de tip SQL și pentru a interoga ca SQL folosind HIVEQL
- Pentru a utiliza și implementa hărți și reductoare specificate personalizate pentru cerințele specifice ale clientului
- Următorul