A Hive mint ETL és adattárház eszköz a Hadoop ökoszisztéma tetején olyan funkciókat biztosít, mint az adatmodellezés, az adatkezelés, az adatfeldolgozás és az adatok lekérdezése. Az adatkivonás a kaptárban táblák létrehozását jelenti a kaptárban, strukturált és félig strukturált adatok betöltését, valamint az adatok lekérdezését a követelmények alapján.
Kötegelt feldolgozáshoz egyedi definiált szkripteket fogunk írni egyedi térkép segítségével, és szkripteket szkriptnyelv használatával csökkentjük. SQL-szerű környezetet és támogatást nyújt az egyszerű lekérdezéshez.
Ebben az oktatóanyagban megtanulja-
- Strukturált adatok kezelése a Hive használatával
- Félig strukturált adatok kezelése a Hive (XML, JSON) használatával
- Kaptár valós idejű projektekben - mikor és hol használható
Strukturált adatok kezelése a Hive használatával
A strukturált adatok azt jelentik, hogy az adatok a sorok és oszlopok megfelelő formátumában vannak. Ez inkább olyan, mint az RDBMS-adatok megfelelő sorokkal és oszlopokkal.
Itt a Hive szövegfájljaiban lévő strukturált adatokat töltjük be
1. lépés: Ebben a lépésben létrehozzuk az "alkalmazottak_guru" táblázatot olyan oszlopnevekkel, mint az azonosító, név, életkor, cím, fizetés és az adattípusú alkalmazottak osztálya.
A fenti képernyőkép alapján a következőket figyelhetjük meg:
- Az "alkalmazottak_guru" táblázat létrehozása
- Adatok betöltése az Employees.txt fájlból az "alkalmazottak_guru" táblába
2. lépés) Ebben a lépésben a "Select" paranccsal jelenítjük meg a táblázatban tárolt tartalmakat. A táblázat tartalmát a következő képernyőképen figyelhetjük meg.
- Minta kódrészlet
Elvégzendő lekérdezések
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;
Félig strukturált adatok kezelése a Hive (XML, JSON) használatával
A Hive elvégzi az ETL funkciókat a Hadoop ökoszisztémában azáltal, hogy ETL eszközként működik. Nehéz lehet végrehajtani a térképcsökkentést bizonyos típusú alkalmazásoknál, a Hive csökkentheti a komplexitást és az adattárházi szektor szempontjából a legjobb megoldást kínálja az informatikai alkalmazások számára.
A félig strukturált adatok, például az XML és a JSON, a Hive használatával kevesebb bonyolultsággal dolgozhatók fel. Először meglátjuk, hogyan használhatjuk a Hive-t XML-hez.
XML a HIVE TÁBLÁZATHOZ
Ebben az esetben XML adatokat töltünk be a Hive táblákba, és lekérjük az XML címkékben tárolt értékeket.
1. lépés : Az "xmlsample_guru" tábla létrehozása str oszloppal string karakterlánccal.
A fenti képernyőkép alapján a következőket figyelhetjük meg
- Az "xmlsample_guru" tábla létrehozása
- Adatok betöltése a test.xml fájlból az "xmlsample_guru" táblába
2. lépés: Az XPath () módszerrel képesek leszünk lekérni az XML címkékben tárolt adatokat.
A fenti képernyőkép alapján a következőket figyelhetjük meg
- Az XPATH () módszerrel lekérjük az / emp / esal / és / emp / ename / könyvtárban tárolt értékeket.
- Az értékek az XML címkék belsejében vannak. Ebben a lépésben az XML címkék alatt tárolt tényleges értékeket jelenítjük meg az "xmlsample_guru" táblában
3. lépés: Ebben a lépésben lekérjük és megjelenítjük az "xmlsample_guru" tábla nyers XML-jét.
A fenti képernyőkép alapján a következőket figyelhetjük meg
- A tényleges XML adatok megjelenítése címkékkel
- Ha egyetlen címkét figyelünk meg, akkor az "emp" a szülőcímke, az "ename" és az "esal" a gyermek címkék.
Kódrészlet:
Elvégzendő lekérdezések
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 objektum jelölés)
A Twitter és a webhelyek adatait JSON formátumban tároljuk. Amikor megpróbálunk adatokat lekérni online szerverekről, JSON fájlokat fog visszaadni. A Hive adattárolóként történő felhasználásával sémák létrehozásával JSON adatokat tölthetünk be a Hive táblákba.
JSON HIVE TÁBLÁZAT
Ebben JSON adatokat töltünk be a Hive táblákba, és lekérjük a JSON sémában tárolt értékeket.
1. lépés: Ebben a lépésben létrehozni fogjuk a JSON tábla nevét "json_guru". Miután létrehozta a tényleges séma betöltését és megjelenítését.
A fenti képernyőkép alapján a következőket figyelhetjük meg
- A "json_guru" táblázat létrehozása
- Adatok betöltése a test.json fájlból a "json_guru" táblába
- A json_guru táblákban tárolt JSON-fájl tényleges sémájának megjelenítése
2. lépés: A get_json_object () metódus használatával lekérhetjük a JSON hierarchiában tárolt adatértékeket
A fenti képernyőképből a következőket figyelhetjük meg
- A get_json_object (str, '$. Ecode) használatával lekérheti az ecode értékeit a json_guru táblából. Hasonlóan a get_json_object (str, '$. Ename), a get_json_object (str,' $. Sali) használatával, ez az ename sal értékeket fogja lekérni a json_guru táblából.
- A JSON Hierarchia belsejében tárolt értékek a json_guru fájlban
Kódrészlet
Elvégzendő lekérdezések
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;
Komplex JSON HIVE TÁBLÁZAT
Ebben összetett JSON adatokat töltünk be a Hive táblákba, és lekérjük a JSON sémában tárolt értékeket
1. lépés: A complexjson_guru létrehozása egyetlen oszlopmezővel
A fenti képernyőkép alapján a következőket figyelhetjük meg
- Létrehozás a complexjson_guru táblában, egyetlen oszlopmezővel string karaktertípusként
- Adatok betöltése a complexjson_guru fájlba az emp.json összetett JSON fájlból
2. lépés: A get_json_object használatával lekérhetjük a JSON fájlhierarchiában tárolt tényleges tartalmat.
A következő képernyőképen láthatjuk a complexjson_guru fájlban tárolt adatok kimenetét.
3. lépés) Ebben a lépésben a "Select" paranccsal valóban megnézhetjük a "complexjson_guru" táblában tárolt összetett JSON adatokat
-Minta kódrészlet,
Elvégzendő lekérdezések
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;
Kaptár valós idejű projektekben - mikor és hol használható
Mikor és hol kell használni a kaptárt a Hadoop ökoszisztémán:
Amikor
- Ha a Hadoop-ökoszisztéma erős és hatékony statisztikai funkcióival dolgozik
- Ha strukturált és félig strukturált adatfeldolgozással dolgozik
- Adattárház eszközként a Hadoop segítségével
- Valós idejű adatfogyasztás a HBASE, Hive segítségével használható
Hol
- Az ETL és az adattárház eszköz egyszerű használatához
- SQL típusú környezet biztosítása és az SQL-hez hasonló lekérdezés a HIVEQL használatával
- Egyéni megadott térkép és reduktor szkriptek használata és telepítése az adott ügyfél követelményeinek megfelelően
- Következő