Úl ETL: Načítání příkladů textových dat JSON, XML

Obsah:

Anonim

Ú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í,

  1. Vytvoření tabulky "zaměstnanci_guru"
  2. 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í

  1. Vytvoření tabulky "xmlsample_guru"
  2. 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í

  1. Pomocí metody XPATH () načítáme hodnoty uložené pod / emp / esal / a / emp / ename /
  2. 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í

  1. Vytvoření tabulky "json_guru"
  2. Načítání dat ze souboru test.json do tabulky „json_guru“
  3. 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í

  1. 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
  2. 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í

  1. Vytvoření na tabulce complexjson_guru s jedním sloupcovým polem jako datovým typem řetězce
  2. 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