ETL košnice: Učitavanje primjera JSON-a, XML-a, tekstualnih podataka

Sadržaj:

Anonim

Košnica kao ETL i alat za skladištenje podataka na vrhu ekosustava Hadoop pruža funkcionalnosti kao što su modeliranje podataka, manipulacija podacima, obrada podataka i postavljanje upita. Izdvajanje podataka u košnici znači stvaranje tablica u košnici i učitavanje strukturiranih i polustrukturiranih podataka, kao i postavljanje upita na temelju zahtjeva.

Za serijsku obradu napisat ćemo prilagođene skripte pomoću prilagođene mape i smanjiti skripte pomoću skriptnog jezika. Pruža okruženje nalik SQL-u i podršku za lako postavljanje upita.

U ovom vodiču naučit ćete-

  • Rad sa strukturiranim podacima pomoću Hive-a
  • Rad s polustrukturiranim podacima koristeći Hive (XML, JSON)
  • Košnica u projektima u stvarnom vremenu - kada i gdje koristiti

Rad sa strukturiranim podacima pomoću Hive-a

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

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

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

Iz gornjeg snimka zaslona možemo uočiti sljedeće,

  1. Izrada tablice "zaposlenici_guru"
  2. Učitavanje podataka iz Employees.txt u tablicu "zaposleni_guru"

Korak 2) U ovom koraku prikazujemo sadržaj pohranjen u ovoj tablici pomoću naredbe "Odaberi". Sadržaj tablice možemo promatrati na sljedećem snimku zaslona.

- Uzorak 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 polustrukturiranim podacima koristeći Hive (XML, JSON)

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

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

XML ZA STOLNI STOL

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

Korak 1) Stvaranje tablice "xmlsample_guru" sa str stupcem s tipom podataka niza.

Iz gornjeg snimka zaslona možemo uočiti sljedeće

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

Korak 2) Pomoću metode XPath () moći ćemo dohvatiti podatke pohranjene unutar XML oznaka.

Iz gornjeg snimka zaslona možemo uočiti sljedeće

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

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

Iz gornjeg snimka zaslona možemo uočiti sljedeće

  • Stvarni XML podaci koji se prikazuju s oznakama
  • Ako promatramo jednu oznaku, ona je s "emp" kao nadređena oznaka s "ename" i "esal" kao podređene oznake.

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 (JavaScript oznaka objekta)

Podaci s Twittera i web stranica pohranjuju se u JSON formatu. Kad god pokušamo dohvatiti podatke s mrežnih poslužitelja, vratit će JSON datoteke. Korištenjem Hive-a kao spremišta podataka, JSON podatke možemo učitati u tablice Hive-a stvaranjem shema.

JSON DO STOLA

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

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

Iz gornjeg snimka zaslona možemo uočiti 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

Iz gornjeg snimka zaslona možemo uočiti sljedeće

  1. Korištenjem get_json_object (str, '$. Ecode) može dohvatiti vrijednosti ecode iz tablice json_guru. Slično će koristiti get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) dohvatiti vrijednosti salme ename 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 ZA STOJNJI STOL

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

Korak 1) Stvaranje complexjson_guru s jednim stupcem polja

Iz gornjeg snimka zaslona možemo uočiti sljedeće

  1. Stvaranje na tablici complexjson_guru s jednim stupcem kao tipom podataka niza
  2. Učitavanje podataka u complexjson_guru iz složene JSON datoteke emp.json

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

Iz sljedećeg snimka zaslona možemo vidjeti izlaz podataka pohranjenih u complexjson_guru.

Korak 3) U ovom koraku, pomoću naredbe "Select" zapravo smo u mogućnosti vidjeti složene JSON podatke pohranjene unutar tablice "complexjson_guru"

-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 košnicu na Hadoop ekosustavu:

Kada

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

Gdje

  • Za lakšu upotrebu ETL-a i alata za skladištenje podataka
  • Osigurati okruženje tipa SQL i upiti poput SQL-a pomoću HIVEQL-a
  • Da biste koristili i implementirali prilagođene skripte mapa i reduktora za specifične zahtjeve klijenta