Hive ETL: učitavanje JSON, XML, primjeri tekstualnih podataka

Hive kao ETL i alat za skladištenje podataka povrh toga Hadoop ekosustav pruža funkcionalnosti kao što su modeliranje podataka, manipulacija podacima, obrada podataka i upit za podatke. Ekstrakcija podataka u Hiveu znači stvaranje tablica u Hiveu i učitavanje strukturiranih i polustrukturiranih podataka, kao i postavljanje upita podacima na temelju zahtjeva.

Za skupnu obradu, pisat ćemo prilagođeno definirane skripte pomoću prilagođene karte i smanjiti skripte pomoću skriptnog jezika. Pruža SQL poput okruženja i podrške za jednostavno postavljanje upita.

Rad sa strukturiranim podacima pomoću Hive-a

Strukturirani podaci znače da su podaci u ispravnom formatu redaka i stupaca. Ovo je više kao RDBMS podatke s odgovarajućim redovima i stupcima.

Ovdje ćemo učitati strukturirane podatke prisutne u tekstualnim datotekama u Hive

Korak 1) U ovom koraku stvaramo tablicu "employees_guru" s nazivima stupaca kao što su Id, Ime, Dob, Adresa, Plaća i Odjel zaposlenika s tipovima podataka.

Rad sa strukturiranim podacima pomoću Hive-a

Iz gornje snimke zaslona možemo vidjeti sljedeće,

  1. Izrada tablice “employees_guru”
  2. Učitavanje podataka iz Employees.txt u tablicu”employees_guru”

Korak 2) U ovom koraku prikazujemo sadržaj pohranjen u ovoj tablici pomoću naredbe “Select”. Sadržaj tablice možemo vidjeti na sljedećoj snimci zaslona.

Rad sa strukturiranim podacima pomoću Hive-a

– Primjer isječka koda

Upiti koje treba izvršiti

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;

Rad s polu strukturiranim podacima pomoću Hive (XML, JSON)

Hive izvodi ETL funkcionalnosti u Hadoop ekosustavu djelujući kao ETL alat. Može biti teško izvršiti smanjenje karte u nekim vrstama aplikacija, Hive može smanjiti složenost i pružiti najbolje rješenje za IT aplikacije u smislu sektora skladištenja podataka.

Polustrukturirani podaci kao što su XML i JSON mogu se obrađivati ​​s manje složenosti pomoću Hive-a. Prvo ćemo vidjeti kako možemo koristiti Hive za XML.

XML DO HIVE TABLICE

U ovom ćemo učitati XML podatke u Hive tablice i dohvatit ćemo vrijednosti pohranjene unutar XML oznaka.

Korak 1) Stvaranje tablice “xmlsample_guru” sa stupcem str s tipom podataka string.

Rad s polustrukturiranim podacima pomoću Hivea

Iz gornje snimke zaslona možemo vidjeti sljedeće

  1. Izrada tablice “xmlsample_guru”
  2. Učitavanje podataka iz test.xml u tablicu “xmlsample_guru”

Korak 2) Korištenje XPath () metodom moći ćemo dohvatiti podatke pohranjene unutar XML oznaka.

Rad s polustrukturiranim podacima pomoću Hivea

Iz gornje snimke zaslona možemo vidjeti sljedeće

  1. Pomoću metode XPATH( ) dohvaćamo vrijednosti pohranjene pod /emp/esal/ i /emp/ename/
  2. Vrijednosti prisutne unutar XML oznaka. U ovom koraku prikazujemo stvarne vrijednosti pohranjene pod XML oznakama u tablici “xmlsample_guru”

Korak 3) U ovom koraku ćemo dohvatiti i prikazati neobrađeni XML tablice "xmlsample_guru."

Rad s polustrukturiranim podacima pomoću Hivea

Iz gornje snimke zaslona možemo vidjeti sljedeće

  • Stvarni XML podaci koji se prikazuju s oznakama
  • Ako promatramo jednu oznaku, ona je s "emp" kao roditeljskom oznakom s "ename" i "esal" kao podređenim oznakama.

Isječak koda:

Upiti koje treba izvršiti

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 (Javazapis objekta skripte)

Podaci Twittera i web stranica pohranjuju se u JSON formatu. Kad god pokušamo dohvatiti podatke s mrežnih poslužitelja, vratit će JSON datoteke. Koristeći Hive kao pohranu podataka možemo učitavati JSON podatke u Hive tablice stvaranjem shema.

JSON DO HIVE TABLICE

U ovom ćemo učitati JSON podatke u Hive tablice i dohvatit ćemo vrijednosti pohranjene u JSON shemi.

Korak 1) U ovom koraku stvorit ćemo JSON tablicu naziva "json_guru". Jednom stvoreno učitavanje i prikazivanje sadržaja stvarne sheme.

Json u tablicu košnice

Iz gornje snimke zaslona možemo vidjeti sljedeće

  1. Izrada tablice “json_guru”
  2. Učitavanje podataka iz test.json u tablicu “json_guru”
  3. Prikaz stvarne sheme JSON datoteke pohranjene u json_guru tablicama

Korak 2) Pomoću metode get_json_object() možemo dohvatiti vrijednosti podataka pohranjene u JSON hijerarhiji

Json u tablicu košnice

Iz gornje snimke zaslona možemo vidjeti sljedeće

  1. Korištenjem get_json_object (str,'$.ecode) može dohvatiti ecode vrijednosti iz tablice json_guru. Slično upotrebom get_json_object (str,'$.ename) ,get_json_object (str,'$.Sali) dohvatit će ename sal vrijednosti iz tablice json_guru
  2. Vrijednosti pohranjene unutar JSON hijerarhije u json_guru

Isječak koda

Upiti koje treba izvršiti

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;

Složeni JSON TO HIVE TABLE

U ovom ćemo učitati složene JSON podatke u Hive tablice i dohvatit ćemo vrijednosti pohranjene u JSON shemi

Korak 1) Stvaranje complexjson_guru s poljem jednog stupca

Complex Json To Hive Table

Iz gornje snimke zaslona možemo vidjeti sljedeće

  1. Stvaranje na tablici complexjson_guru s poljem jednog stupca kao vrstom podataka niza
  2. Učitavanje podataka u complexjson_guru iz emp.json složene JSON datoteke

Korak 2) Korištenjem get_json_objecta možemo dohvatiti stvarni sadržaj koji je pohranjen unutar hijerarhije JSON datoteka.

Na sljedećoj snimci zaslona možemo vidjeti izlaz podataka pohranjenih u complexjson_guru.

Complex Json To Hive Table

Korak 3) U ovom koraku, pomoću naredbe “Select” zapravo možemo vidjeti složene JSON podatke pohranjene unutar tablice “complexjson_guru”

Complex Json To Hive Table

-Uzorak isječka koda,

Upiti koje treba izvršiti

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;

Košnica u projektima u stvarnom vremenu – kada i gdje koristiti

Kada i gdje koristiti Hive na Hadoop ekosustavu:

Kada

  • Kada radite s jakim i snažnim statističkim funkcijama na Hadoop ekosustavu
  • Pri radu sa strukturiranom i polustrukturiranom obradom podataka
  • Kao alat za skladištenje podataka s Hadoopom
  • Može se koristiti unos podataka u stvarnom vremenu s HBASE, Hive

Gdje

  • Za jednostavno korištenje ETL-a i alata za skladištenje podataka
  • Osigurati okruženje tipa SQL i postavljati upite poput SQL-a koristeći HIVEQL
  • Za korištenje i implementaciju prilagođenih mapa i reduktorskih skripti za specifične zahtjeve klijenta