Strops ETL: JSON, XML, teksta datu piemēru ielāde

Satura rādītājs:

Anonim

Strops kā ETL un datu noliktavas rīks virs Hadoop ekosistēmas nodrošina tādas funkcijas kā datu modelēšana, datu apstrāde, datu apstrāde un datu vaicāšana. Datu ieguve stropā nozīmē tabulu izveidošanu stropā un strukturētu un daļēji strukturētu datu ielādi, kā arī datu vaicāšanu, pamatojoties uz prasībām.

Sērijveida apstrādei mēs rakstīsim pielāgotus definētus skriptus, izmantojot pielāgotu karti, un samazināsim skriptus, izmantojot skriptu valodu. Tas nodrošina SQL līdzīgu vidi un atbalstu ērtai vaicājumu veikšanai.

Šajā apmācībā jūs uzzināsiet

  • Darbs ar strukturētajiem datiem, izmantojot stropu
  • Darbs ar daļēji strukturētiem datiem, izmantojot stropu (XML, JSON)
  • Strops reāllaika projektos - kad un kur izmantot

Darbs ar strukturētajiem datiem, izmantojot stropu

Strukturētie dati nozīmē, ka dati ir pareizā rindu un kolonnu formātā. Tas vairāk līdzinās RDBMS datiem ar pareizām rindām un kolonnām.

Šeit mēs ielādēsim strukturētos datus stropa teksta failos

1. solis . Šajā solī mēs izveidojam tabulu "darbiniekiem_guru" ar kolonnu nosaukumiem, piemēram, ID, vārdu, vecumu, adresi, algu un darbinieku ar datu tipiem nodaļu.

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo:

  1. Tabulas "darbinieki_guru" izveide
  2. Notiek datu ielāde no Employees.txt tabulā "workers_guru"

2. solis . Šajā solī mēs parādām šajā tabulā saglabāto saturu, izmantojot komandu "Atlasīt". Tabulas saturu mēs varam novērot nākamajā ekrānuzņēmumā.

- koda fragmenta paraugs

Veicamie vaicājumi

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;

Darbs ar daļēji strukturētiem datiem, izmantojot stropu (XML, JSON)

Strops veic ETL funkcijas Hadoop ekosistēmā, darbojoties kā ETL rīks. Dažu veidu lietojumprogrammās var būt grūti veikt karšu samazināšanu, Hive var samazināt sarežģītību un nodrošināt vislabāko risinājumu IT lietojumprogrammām datu noliktavas sektora ziņā.

Daļēji strukturētus datus, piemēram, XML un JSON, var apstrādāt ar mazāk sarežģītību, izmantojot stropu. Vispirms mēs redzēsim, kā mēs varam izmantot Hive XML.

XML DZĪVNIEKU GALDA

Tajā mēs ielādēsim XML datus Hive tabulās, un mēs iegūsim XML tagos saglabātās vērtības.

1. solis . Tabulas "xmlsample_guru" izveidošana ar str kolonnu ar virknes datu tipu.

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  1. Tabulas "xmlsample_guru" izveide
  2. Notiek datu ielāde no test.xml tabulā "xmlsample_guru"

2. solis. Izmantojot metodi XPath (), mēs varēsim ielādēt XML tagos saglabātos datus.

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  1. Izmantojot metodi XPATH (), mēs iegūstam vērtības, kas saglabātas zem / emp / esal / un / emp / ename /
  2. Vērtības satur iekšpusē XML tagus. Šajā solī tabulā "xmlsample_guru" tiek rādītas faktiskās vērtības, kas saglabātas zem XML tagiem.

3. solis . Šajā solī mēs ienesīsim un parādīsim tabulas "xmlsample_guru" neapstrādāto XML.

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  • Faktiskais XML datu attēlojums ar tagiem
  • Ja mēs novērojam vienu tagu, tas ir ar "emp" kā vecāku tagu ar "ename" un "esal" kā pakārtotiem tagiem.

Koda fragments:

Veicamie vaicājumi

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 objektu apzīmējums)

Twitter un vietņu dati tiek glabāti JSON formātā. Ikreiz, kad mēs mēģinām iegūt datus no tiešsaistes serveriem, tas atgriezīs JSON failus. Izmantojot Hive kā datu krātuvi, mēs varam ielādēt JSON datus Hive tabulās, izveidojot shēmas.

JSON HIVE GALDA

Tajā mēs ielādēsim JSON datus Hive tabulās un iegūsim JSON shēmā saglabātās vērtības.

1. solis . Šajā solī mēs izveidosim JSON tabulas nosaukumu “json_guru”. Kad tas ir izveidots, tiek ielādēta un parādīta faktiskās shēmas saturs.

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  1. Tabulas "json_guru" izveide
  2. Notiek datu ielāde no test.json tabulā "json_guru"
  3. Parāda faktisko JSON faila shēmu, kas saglabāta tabulās json_guru

2. solis. Izmantojot get_json_object () metodi, mēs varam iegūt JSON hierarhijā saglabātās datu vērtības

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  1. Izmantojot get_json_object (str, '$. Ecode), tas var iegūt ekoda vērtības no tabulas json_guru. Līdzīgi izmantojot get_json_object (str, '$. Ename), get_json_object (str,' $. Sali), tas iegūs ename sal vērtības no tabulas json_guru
  2. JSON hierarhijas iekšpusē saglabātās vērtības vietnē json_guru

Koda fragments

Veicamie vaicājumi

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;

Komplekss JSON HIVE GALDS

Tajā mēs ielādēsim sarežģītus JSON datus Hive tabulās, un mēs iegūsim JSON shēmā saglabātās vērtības

1. solis. Izveidot complexjson_guru ar vienas kolonnas lauku

No iepriekš minētā ekrānuzņēmuma mēs varam novērot sekojošo

  1. Izveide tabulā complexjson_guru ar vienas kolonnas lauku kā virknes datu tipu
  2. Datu ielāde complexjson_guru no emp.json kompleksa JSON faila

2. solis . Izmantojot get_json_object, mēs varam izgūt faktisko saturu, kas saglabāts JSON failu hierarhijā.

No šī ekrānuzņēmuma mēs varam redzēt kompleksāson_guru saglabāto datu izvadi.

3. solis . Šajā solī, izmantojot komandu "Atlasīt", mēs faktiski varam redzēt sarežģītus JSON datus, kas saglabāti tabulā "complexjson_guru"

- koda fragmenta paraugs,

Veicamie vaicājumi

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;

Strops reāllaika projektos - kad un kur izmantot

Kad un kur stropu lietot Hadoop ekosistēmā:

Kad

  • Strādājot ar spēcīgām un spēcīgām Hadoop ekosistēmas statistikas funkcijām
  • Strādājot ar strukturētu un daļēji strukturētu datu apstrādi
  • Kā datu noliktavas rīks ar Hadoop
  • Var izmantot reāllaika datu uzņemšanu ar HBASE, Hive

Kur

  • Ērtai ETL un datu noliktavas rīka lietošanai
  • Nodrošināt SQL tipa vidi un vaicāt, piemēram, SQL, izmantojot HIVEQL
  • Lai izmantotu un izvietotu pielāgotas norādītās kartes un reduktora skriptus konkrētām klienta prasībām