Úľ ako nástroj ETL a ukladanie údajov na vrchole ekosystému Hadoop poskytuje funkcie ako modelovanie údajov, manipulácia s údajmi, spracovanie údajov a dopytovanie údajov. Extrakcia údajov v úli znamená vytváranie tabuliek v úli a načítanie štruktúrovaných a pološtruktúrovaných údajov, ako aj dopytovanie údajov na základe požiadaviek.
Pre dávkové spracovanie budeme písať vlastné definované skripty pomocou vlastnej mapy a redukciu skriptov pomocou skriptovacieho jazyka. Poskytuje prostredie podobné SQL a podporuje jednoduché dotazovanie.
V tomto návode sa naučíte
- Práca so štruktúrovanými dátami pomocou podregistru
- Práca s pološtruktúrovanými dátami pomocou úľa (XML, JSON)
- Úľ v projektoch v reálnom čase - kedy a kde použiť
Práca so štruktúrovanými dátami pomocou podregistru
Štruktúrované údaje znamenajú, že údaje sú v správnom formáte riadkov a stĺpcov. Toto sa skôr podobá na dáta RDBMS so správnymi riadkami a stĺpcami.
Tu načítame štruktúrované údaje prítomné v textových súboroch v úli
Krok 1) V tomto kroku vytvárame tabuľku „zamestnanci_guru“ s názvami stĺpcov ako ID, meno, vek, adresa, plat a oddelenie zamestnancov s dátovými typmi.
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce,
- Vytvorenie tabuľky „zamestnanci_guru“
- Načítavajú sa údaje zo súboru Employees.txt do tabuľky „employee_guru“
Krok 2) V tomto kroku zobrazujeme obsah uložený v tejto tabuľke pomocou príkazu „Vybrať“. Obsah tabuľky môžeme sledovať na nasledujúcom snímke obrazovky.
- Ukážka kódu
Dotazy, ktoré sa majú vykonať
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;
Práca s pološtruktúrovanými dátami pomocou úľa (XML, JSON)
Úľ vykonáva funkcie ETL v ekosystéme Hadoop tým, že funguje ako nástroj ETL. Môže byť ťažké vykonať zmenšenie mapy v niektorých typoch aplikácií, Hive môže znížiť zložitosť a poskytnúť najlepšie riešenie IT aplikácií z hľadiska sektoru dátových skladov.
Čiastočne štruktúrované údaje, ako sú XML a JSON, je možné pomocou Hive spracovať s menšou zložitosťou. Najprv uvidíme, ako môžeme použiť Hive pre XML.
TABUĽKA XML K ÚLE
V tomto ideme načítať údaje XML do tabuliek Hive a načítame hodnoty uložené vo vnútri značiek XML.
Krok 1) Vytvorenie tabuľky „xmlsample_guru“ so stĺpcom str s dátovým typom reťazca.
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce
- Vytvorenie tabuľky „xmlsample_guru“
- Načítavajú sa údaje zo súboru test.xml do tabuľky „xmlsample_guru“
Krok 2) Pomocou metódy XPath () budeme môcť načítať údaje uložené v značkách XML.
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce
- Pomocou metódy XPATH () načítame hodnoty uložené pod / emp / esal / a / emp / ename /
- Hodnoty sa nachádzajú vo vnútri značiek XML. V tomto kroku zobrazujeme skutočné hodnoty uložené pod značkami XML v tabuľke „xmlsample_guru“.
Krok 3) V tomto kroku načítame a zobrazíme nespracované XML tabuľky „xmlsample_guru“.
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce
- Skutočné údaje XML zobrazené so značkami
- Ak sledujeme jednu značku, je to značka „emp“ ako nadradená značka s „ename“ a „esal“ ako podradená značka.
Úryvok kódu:
Dotazy, ktoré sa majú vykonať
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)
Údaje z Twitteru a webových stránok sú uložené vo formáte JSON. Kedykoľvek sa pokúsime načítať údaje z online serverov, vráti súbory JSON. Ak použijeme Hive ako úložisko dát, budeme môcť načítať údaje JSON do tabuliek Hive vytvorením schém.
TABUĽKA JSON TO HIVE
V tomto ideme načítať údaje JSON do tabuliek Hive a načítame hodnoty uložené v schéme JSON.
Krok 1) V tomto kroku vytvoríme názov tabuľky JSON „json_guru“. Po vytvorení načítanie a zobrazenie obsahu skutočnej schémy.
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce
- Vytvorenie tabuľky "json_guru"
- Načítanie údajov zo súboru test.json do tabuľky „json_guru“
- Zobrazenie skutočnej schémy súboru JSON uloženého v tabuľkách json_guru
Krok 2) Pomocou metódy get_json_object () môžeme načítať hodnoty údajov uložené v hierarchii JSON
Z vyššie uvedeného obrazovky môžeme pozorovať nasledujúce
- Pomocou get_json_object (str, '$. Ecode) môže načítať hodnoty ecode z tabuľky json_guru. Podobne pomocou get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) načíta ename sal hodnoty z tabuľky json_guru
- Hodnoty uložené vo vnútri hierarchie JSON v json_guru
Úryvok kódu
Dotazy, ktoré sa majú vykonať
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;
Komplexný stôl JSON TO HIVE
V tomto ideme načítať komplexné údaje JSON do tabuliek Hive a načítame hodnoty uložené v schéme JSON
Krok 1) Vytvorenie komplexu json_guru s poľom jedného stĺpca
Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce
- Vytvorenie v tabuľke complexjson_guru s jedným stĺpcom ako dátovým typom reťazca
- Načítavajú sa údaje do komplexu json_guru z komplexného súboru JSON emp.json
Krok 2) Použitím get_json_object môžeme načítať skutočný obsah, ktorý je uložený vo vnútri hierarchie súborov JSON.
Na nasledujúcej snímke obrazovky môžeme vidieť výstup údajov uložených v komplexe json_guru.
Krok 3) V tomto kroku pomocou príkazu „Vybrať“ skutočne vidíme komplexné údaje JSON uložené v tabuľke „komplexjson_guru“
- úryvok kódu ukážky,
Dotazy, ktoré sa majú vykonať
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;
Úľ v projektoch v reálnom čase - kedy a kde použiť
Kedy a kde použiť úľ v ekosystéme Hadoop:
Kedy
- Pri práci so silnými a výkonnými štatistickými funkciami na ekosystéme Hadoop
- Pri práci so štruktúrovaným a čiastočne štruktúrovaným spracovaním údajov
- Ako nástroj dátového skladu s Hadoopom
- Môže sa použiť príjem údajov v reálnom čase pomocou HBASE, Hive
Kde
- Pre jednoduchšie použitie ETL a nástroja na skladovanie údajov
- Poskytnúť prostredie typu SQL a dopytovať sa ako SQL pomocou HIVEQL
- Použiť a nasadiť vlastné špecifikované skripty máp a reduktorov pre konkrétne požiadavky klientov
- Ďalšie