Hive ETL: JSON, XML, szöveges adatpéldák betöltése

Hive, mint ETL és adattárház-eszköz a tetején Hadoop Az ökoszisztéma olyan funkciókat kínál, mint az adatmodellezés, adatkezelés, adatfeldolgozás és adatlekérdezés. Az adatkinyerés a Hive-ben táblák létrehozását jelenti a Hive-ben, valamint strukturált és félig strukturált adatok betöltését, valamint adatok lekérdezését a követelmények alapján.

A kötegelt feldolgozáshoz egyéni definiált szkripteket fogunk írni egy egyéni leképezés segítségével, és csökkenteni fogjuk a szkripteket egy szkriptnyelv használatával. Ez biztosítja SQL mint a környezet és az egyszerű lekérdezés támogatása.

Strukturált adatok kezelése Hive használatával

A strukturált adatok azt jelentik, hogy az adatok a megfelelő sorok és oszlopok formátumában vannak. Ez inkább hasonló RDBMS adatok megfelelő sorokkal és oszlopokkal.

Itt fogjuk betölteni a Hive szövegfájljaiban található strukturált adatokat

Step 1) Ebben a lépésben létrehozzuk az „employees_guru” táblát olyan oszlopnevekkel, mint az Id, Név, Életkor, Cím, Fizetés és Osztály az alkalmazottak adattípusaival.

Strukturált adatok kezelése Hive használatával

A fenti képernyőképen a következőket figyelhetjük meg:

  1. Az „employees_guru” tábla létrehozása
  2. Adatok betöltése az Employees.txt fájlból az „employees_guru” táblába

Step 2) Ebben a lépésben a „Select” paranccsal jelenítjük meg a táblázatban tárolt tartalmat. A táblázat tartalmát a következő képernyőképen figyelhetjük meg.

Strukturált adatok kezelése Hive használatával

– 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 Hive használatával (XML, JSON)

A Hive ETL-funkciókat hajt végre a Hadoop-ökoszisztémában úgy, mint ETL eszköz. Bizonyos típusú alkalmazásokban nehézkes lehet a térképcsökkentés végrehajtása, a Hive csökkentheti a komplexitást, és a legjobb megoldást nyújtja az informatikai alkalmazások számára az adattárház szektorban.

A félig strukturált adatok, például az XML és a JSON kevésbé bonyolultan feldolgozhatók a Hive használatával. Először is meglátjuk, hogyan használhatjuk a Hive-t XML.

XML TO HIVE TABLE

Ebben az XML-adatokat fogjuk betölteni a Hive-táblázatokba, és lekérjük az XML-címkékben tárolt értékeket.

Step 1) „xmlsample_guru” tábla létrehozása str oszloppal, karakterlánc adattípussal.

Félig strukturált adatok kezelése Hive használatával

A fenti képernyőképből a következőket figyelhetjük meg

  1. Az „xmlsample_guru” tábla létrehozása
  2. Adatok betöltése a test.xml fájlból az „xmlsample_guru” táblába

Step 2) <p></p> XPath () módszerrel le tudjuk majd kérni az XML címkékben tárolt adatokat.

Félig strukturált adatok kezelése Hive használatával

A fenti képernyőképből a következőket figyelhetjük meg

  1. Az XPATH( ) metódussal lekérjük az /emp/esal/ és /emp/ename/ alatt tárolt értékeket.
  2. Az értékek az Inside XML címkéket tartalmazzák. 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.

Step 3) Ebben a lépésben lekérjük és megjelenítjük az „xmlsample_guru” tábla nyers XML-jét.

Félig strukturált adatok kezelése Hive használatával

A fenti képernyőképből 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 ez az „emp” szülőcímke, az „ename” és az „esal” pedig 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 adatai JSON formátumban kerülnek tárolásra. Amikor megpróbálunk adatokat lekérni online szerverekről, JSON-fájlokat ad vissza. A Hive adattárként való használatával JSON-adatokat tölthetünk be Hive-táblázatokba sémák létrehozásával.

JSON TO HIVE TABLE

Ebben JSON-adatokat fogunk betölteni Hive-táblázatokba, és lekérjük a JSON-sémában tárolt értékeket.

Step 1) Ebben a lépésben létrehozzuk a „json_guru” JSON-tábla nevét. A létrehozás után betölti és megjeleníti az aktuális séma tartalmát.

Json A Hive Table

A fenti képernyőképből a következőket figyelhetjük meg

  1. A „json_guru” tábla létrehozása
  2. Adatok betöltése a test.json fájlból a „json_guru” táblába
  3. A json_guru táblákban tárolt JSON-fájl tényleges sémájának megjelenítése

Step 2) A get_json_object() metódus segítségével lekérhetjük a JSON-hierarchiában tárolt adatértékeket

Json A Hive Table

A fenti képernyőképből a következőket figyelhetjük meg

  1. A get_json_object (str,'$.ecode) használatával lekérheti az ecode értékeket a json_guru táblából. Hasonló módon a get_json_object (str,'$.ename) ,get_json_object (str,'$.Sali) használatával lekéri az ename sal értékeket a json_guru táblából
  2. A JSON-hierarchiában tárolt értékek a json_guru-ban

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 TO HIVE TÁBLÁZAT

Ebben az összetett JSON-adatokat fogjuk betölteni a Hive-táblázatokba, és lekérjük a JSON-sémában tárolt értékeket.

Step 1) Complexjson_guru létrehozása egyetlen oszlopos mezővel

Complex Json to Hive Table

A fenti képernyőképből a következőket figyelhetjük meg

  1. Létrehozás a complexjson_guru táblán egy oszlopos mezővel, mint karakterlánc adattípussal
  2. Adatok betöltése a complexjson_guru fájlba az emp.json komplex JSON-fájlból

Step 2) 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-ban tárolt adatok kimenetét.

Complex Json to Hive Table

Step 3) Ebben a lépésben a „Select” paranccsal ténylegesen láthatjuk a „complexjson_guru” táblában tárolt összetett JSON-adatokat.

Complex Json to Hive Table

- 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;

Hive in Real Time projektek – Mikor és hol használjuk

Mikor és hol kell használni a kaptárt a Hadoop ökoszisztémán:

Amikor

  • Ha erős és hatékony statisztikai függvényekkel dolgozik a Hadoop ökoszisztémán
  • Strukturált és félig strukturált adatfeldolgozás során
  • Adattárház-eszközként a Hadoop segítségével
  • Valós idejű adatbevitel a HBASE-val, a Hive használható

Hol

  • Az ETL és az adattárház eszköz használatának megkönnyítése érdekében
  • SQL típusú környezet biztosítása és az SQL-hez hasonló lekérdezés a HIVEQL használatával
  • Egyéni meghatározott leképezési és szűkítő szkriptek használata és telepítése az adott ügyfélkövetelményekhez