Úl jako nástroj ETL a datový sklad nad ekosystémem Hadoop poskytuje funkce jako modelování dat, manipulace s daty, zpracování dat a dotazování na data. Extrakce dat v Hive znamená vytváření tabulek v Hive a načítání strukturovaných a polostrukturovaných dat, jakož i dotazování na data na základě požadavků.
Pro dávkové zpracování budeme psát vlastní definované skripty pomocí vlastní mapy a redukovat skripty pomocí skriptovacího jazyka. Poskytuje prostředí podobné SQL a podporuje snadné dotazování.
V tomto výukovém programu se naučíte
- Práce se strukturovanými daty pomocí Hive
- Práce s částečně strukturovanými daty pomocí Hive (XML, JSON)
- Úly v reálném čase - kdy a kde použít
Práce se strukturovanými daty pomocí Hive
Strukturovaná data znamenají, že data jsou ve správném formátu řádků a sloupců. Jedná se spíše o data RDBMS se správnými řádky a sloupci.
Zde budeme načítat strukturovaná data přítomná v textových souborech v Hive
Krok 1) V tomto kroku vytváříme tabulku „zaměstnanci_guru“ s názvy sloupců, jako je ID, jméno, věk, adresa, plat a oddělení zaměstnanců s datovými typy.
Z výše uvedeného snímku obrazovky můžeme sledovat následující,
- Vytvoření tabulky "zaměstnanci_guru"
- Načítání dat ze souboru Employees.txt do tabulky "employees_guru"
Krok 2) V tomto kroku zobrazujeme obsah uložený v této tabulce pomocí příkazu „Vybrat“. Můžeme sledovat obsah tabulky na následujícím snímku obrazovky.
- Ukázkový fragment kódu
Dotazy, které je třeba provést
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áce s částečně strukturovanými daty pomocí Hive (XML, JSON)
Úl provádí funkce ETL v ekosystému Hadoop tím, že funguje jako nástroj ETL. Může být obtížné provést zmenšení mapy u některých typů aplikací, Hive může snížit složitost a poskytuje nejlepší řešení IT aplikací z hlediska sektoru datových skladů.
Polostrukturovaná data, jako jsou XML a JSON, lze pomocí Hive zpracovat s menší složitostí. Nejprve uvidíme, jak můžeme použít Hive pro XML.
TABULKA XML TO HIVE
V tomto budeme načítat data XML do tabulek Hive a načteme hodnoty uložené uvnitř značek XML.
Krok 1) Vytvoření tabulky "xmlsample_guru" se sloupcem str s datovým typem řetězce.
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Vytvoření tabulky "xmlsample_guru"
- Načítání dat z test.xml do tabulky "xmlsample_guru"
Krok 2) Pomocí metody XPath () budeme moci načíst data uložená uvnitř značek XML.
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Pomocí metody XPATH () načítáme hodnoty uložené pod / emp / esal / a / emp / ename /
- Hodnoty představují uvnitř značek XML. V tomto kroku zobrazujeme skutečné hodnoty uložené pod tagy XML v tabulce „xmlsample_guru“
Krok 3) V tomto kroku načteme a zobrazíme raw XML tabulky „xmlsample_guru.“
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Skutečná data XML zobrazená se značkami
- Pokud sledujeme jednu značku, je to značka „emp“ jako nadřazená značka s „ename“ a „esal“ jako podřízené značky.
Úryvek kódu:
Dotazy, které je třeba provést
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 o Twitteru a webových stránkách jsou uloženy ve formátu JSON. Kdykoli se pokusíme načíst data z online serverů, vrátí soubory JSON. Pomocí Hive jako úložiště dat můžeme načíst data JSON do tabulek Hive vytvořením schémat.
TABULKA JSON TO HIVE
V tomto budeme načítat data JSON do tabulek Hive a načteme hodnoty uložené ve schématu JSON.
Krok 1) V tomto kroku vytvoříme název tabulky JSON „json_guru“. Po vytvoření načítání a zobrazování obsahu skutečného schématu.
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Vytvoření tabulky "json_guru"
- Načítání dat ze souboru test.json do tabulky „json_guru“
- Zobrazení skutečného schématu souboru JSON uloženého v tabulkách json_guru
Krok 2) Pomocí metody get_json_object () můžeme načíst hodnoty dat uložené v hierarchii JSON
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Pomocí get_json_object (str, '$. Ecode) může načíst hodnoty ecode z tabulky json_guru. Podobně pomocí get_json_object (str, '$. Ename), get_json_object (str,' $. Sali) načte ename sal hodnoty z tabulky json_guru
- Hodnoty uložené uvnitř hierarchie JSON v json_guru
Úryvek kódu
Dotazy, které je třeba provést
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í JSON TO HIVE TABLE
V tomto budeme načítat komplexní data JSON do tabulek Hive a načteme hodnoty uložené ve schématu JSON
Krok 1) Vytvoření complexjson_guru s polem jednoho sloupce
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Vytvoření na tabulce complexjson_guru s jedním sloupcovým polem jako datovým typem řetězce
- Načítání dat do komplexu json_guru ze souboru JSON komplexu emp.json
Krok 2) Pomocí get_json_object můžeme načíst skutečný obsah, který je uložen uvnitř hierarchie souborů JSON.
Z následujícího snímku obrazovky můžeme vidět výstup dat uložených v komplexu json_guru.
Krok 3) V tomto kroku pomocí příkazu „Vybrat“ skutečně vidíme komplexní data JSON uložená v tabulce „komplexjson_guru“
- Ukázka kódu,
Dotazy, které je třeba provést
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;
Úly v reálném čase - kdy a kde použít
Kdy a kde použít úl v ekosystému Hadoop:
Když
- Při práci se silnými a výkonnými statistickými funkcemi v ekosystému Hadoop
- Při práci se strukturovaným a částečně strukturovaným zpracováním dat
- Jako nástroj datového skladu s Hadoop
- Lze použít příjem dat v reálném čase s HBASE, Hive
Kde
- Pro snadné použití ETL a nástroje pro skladování dat
- Poskytnout prostředí typu SQL a dotazovat se jako SQL pomocí HIVEQL
- Chcete-li použít a nasadit vlastní zadané skripty mapy a redukce pro konkrétní požadavky klienta
- další