Panj kot ETL in orodje za skladiščenje podatkov na vrhu ekosistema Hadoop ponuja funkcije, kot so modeliranje podatkov, manipulacija s podatki, obdelava podatkov in poizvedovanje po podatkih. Pridobivanje podatkov v panju pomeni ustvarjanje tabel v panju in nalaganje strukturiranih in polstrukturiranih podatkov ter poizvedovanje po podatkih na podlagi zahtev.
Za serijsko obdelavo bomo napisali skripte po meri z uporabo zemljevida po meri in zmanjšali skripte s pomočjo skriptnega jezika. Ponuja SQL podobno okolje in podporo za enostavno poizvedovanje.
V tej vadnici boste izvedeli-
- Delo s strukturiranimi podatki s pomočjo Hive
- Delo s polstrukturiranimi podatki s pomočjo Hive (XML, JSON)
- Panj v realnem času - kdaj in kje uporabiti
Delo s strukturiranimi podatki s pomočjo Hive
Strukturirani podatki pomenijo, da so podatki v ustrezni obliki vrstic in stolpcev. To je bolj podobno podatkom RDBMS z ustreznimi vrsticami in stolpci.
Tukaj bomo naložili strukturirane podatke, ki so prisotni v besedilnih datotekah v Panju
Korak 1) V tem koraku ustvarjamo tabelo "staff_guru" z imeni stolpcev, kot so Id, Ime, Starost, Naslov, Plača in Oddelek zaposlenih z vrstami podatkov.
Na zgornjem posnetku zaslona lahko opazimo naslednje,
- Ustvarjanje tabele "zaposleni_guru"
- Nalaganje podatkov iz datoteke Employees.txt v tabelo "zaposleni_guru"
Korak 2) V tem koraku prikazujemo vsebino, shranjeno v tej tabeli, z ukazom "Izberi". Vsebino tabele lahko opazujemo v naslednjem posnetku zaslona.
- Vzorec kode Snippet
Poizvedbe, ki jih je treba izvesti
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;
Delo s polstrukturiranimi podatki s pomočjo Hive (XML, JSON)
Hive izvaja ETL funkcije v ekosistemu Hadoop, tako da deluje kot orodje ETL. Pri nekaterih vrstah aplikacij je težko izvesti zmanjševanje zemljevidov, Hive lahko zmanjša zapletenost in nudi najboljšo rešitev za informacijske aplikacije v sektorju skladiščenja podatkov.
Polstrukturirane podatke, kot sta XML in JSON, je mogoče obdelati z manj zapletenostjo s pomočjo Hive. Najprej bomo videli, kako lahko uporabimo Hive za XML.
XML V TABELO
V tem bomo podatke XML naložili v tabele Hive in pobrali vrednosti, shranjene v oznakah XML.
Korak 1) Ustvarjanje tabele "xmlsample_guru" s stolpcem str z vrsto podatkov niza.
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Ustvarjanje tabele "xmlsample_guru"
- Nalaganje podatkov iz test.xml v tabelo "xmlsample_guru"
2. korak) Z uporabo metode XPath () bomo lahko pridobili podatke, shranjene v oznakah XML.
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Z metodo XPATH () pridobivamo vrednosti, shranjene pod / emp / esal / in / emp / ename /
- Vrednosti so znotraj oznak XML. V tem koraku prikazujemo dejanske vrednosti, shranjene pod oznakami XML v tabeli "xmlsample_guru"
Korak 3) V tem koraku bomo dobili in prikazali surovi XML tabele "xmlsample_guru."
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Dejanski podatki XML, prikazani z oznakami
- Če opazimo posamezno oznako, je kot nadrejena oznaka »emp«, podrejeni oznaki »ename« in »esal«.
Delček kode:
Poizvedbe, ki jih je treba izvesti
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 Object Notation)
Podatki o Twitterju in spletnih mestih so shranjeni v obliki JSON. Kadar koli poskušamo pridobiti podatke iz spletnih strežnikov, bodo vrnili datoteke JSON. Z uporabo Hiveja kot shrambe podatkov lahko z ustvarjanjem shem naložimo podatke JSON v tabele Hive.
JSON DO HIBELNE MIZE
V tem bomo podatke JSON naložili v tabele Hive in dobili bomo vrednosti, shranjene v shemi JSON.
Korak 1) V tem koraku bomo ustvarili ime tabele JSON "json_guru". Ko ustvarite nalaganje in prikaz vsebine dejanske sheme.
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Ustvarjanje tabele "json_guru"
- Nalaganje podatkov iz test.json v tabelo "json_guru"
- Prikaz dejanske sheme datoteke JSON, shranjene v tabelah json_guru
2. korak) Z metodo get_json_object () lahko pridobimo vrednosti podatkov, shranjene v hierarhiji JSON
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Z uporabo get_json_object (str, '$. Ecode) lahko pridobi vrednosti ecode iz tabele json_guru. Podobno z uporabo get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) bo iz tabele json_guru prinesel vrednosti salme enama
- Vrednosti, shranjene znotraj JSON Hierarchy v json_guru
Delček kode
Poizvedbe, ki jih je treba izvesti
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;
Kompleksni JSON TO HIVE TABLE
V tem bomo naložili zapletene podatke JSON v tabele Hive in dobili bomo vrednosti, shranjene v shemi JSON
Korak 1) Ustvarjanje complexjson_guru z enim stolpcem
Iz zgornjega posnetka zaslona lahko opazimo naslednje
- Ustvarjanje v tabeli complexjson_guru z enim stolpcem kot podatkovnim nizom
- Nalaganje podatkov v complexjson_guru iz zapletene datoteke JSON emp.json
Korak 2) Z uporabo get_json_object lahko pridobimo dejansko vsebino, ki je shranjena znotraj hierarhije datotek JSON.
Iz naslednjega posnetka zaslona si lahko ogledamo izhodne podatke, shranjene v kompleksjson_guru.
Korak 3) V tem koraku smo z ukazom "Select" dejansko videli zapletene podatke JSON, shranjene v tabeli "complexjson_guru"
-Vzorec delčka kode,
Poizvedbe, ki jih je treba izvesti
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;
Panj v realnem času - kdaj in kje uporabiti
Kdaj in kje uporabiti panj v ekosistemu Hadoop:
Kdaj
- Pri delu z močnimi in zmogljivimi statističnimi funkcijami o ekosistemu Hadoop
- Pri delu s strukturirano in polstrukturirano obdelavo podatkov
- Kot orodje za shranjevanje podatkov s Hadoop
- Zaužitje podatkov v realnem času s HBASE, Hive se lahko uporablja
Kje
- Za lažjo uporabo ETL in orodja za shranjevanje podatkov
- Zagotoviti okolje tipa SQL in poizvedovati kot SQL s pomočjo HIVEQL
- Uporaba in uvajanje skriptov za zemljevide in reduktorje po meri za posebne zahteve odjemalca
- Naslednji