Hive ETL: Зареждане на JSON, XML, Примери за текстови данни

Hive като ETL и инструмент за съхранение на данни отгоре Hadoop Екосистемата предоставя функционалности като моделиране на данни, манипулиране на данни, обработка на данни и заявки към данни. Data Extrac„Управление“ в Hive означава създаване на таблици в Hive и зареждане на структурирани и полуструктурирани данни, както и заявки към данни въз основа на изискванията.

За пакетна обработка ще напишем персонализирани скриптове, използвайки персонализирана карта и ще намалим скриптовете, използвайки скриптов език. Той осигурява SQL като среда и поддръжка за лесно търсене.

Работа със структурирани данни с помощта на Hive

Структурирани данни означава, че данните са в правилния формат на редове и колони. Това е по-скоро като RDBMS данни с правилни редове и колони.

Тук ще заредим структурирани данни, налични в текстови файлове в Hive

Стъпка 1) В тази стъпка създаваме таблица „employees_guru“ с имена на колони като Id, Name, Age, Address, Salary и Department на служителите с типове данни.

Работа със структурирани данни с помощта на Hive

От горната екранна снимка можем да наблюдаваме следното,

  1. Създаване на таблица “employees_guru”
  2. Зареждане на данни от Employees.txt в таблица "employees_guru"

Стъпка 2) В тази стъпка показваме съдържанието, съхранено в тази таблица, като използваме командата „Избор“. Можем да наблюдаваме съдържанието на таблицата в следната екранна снимка.

Работа със структурирани данни с помощта на Hive

– Примерен кодов фрагмент

Запитвания за изпълнение

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;

Работа с полуструктурирани данни с помощта на Hive (XML, JSON)

Hive изпълнява ETL функции в екосистемата Hadoop, като действа като ETL инструмент. Може да бъде трудно да се извърши намаляване на картата в някои видове приложения, Hive може да намали сложността и да предостави най-доброто решение за ИТ приложенията по отношение на сектора за съхранение на данни.

Полуструктурирани данни като XML и JSON могат да се обработват с по-малко сложност с помощта на Hive. Първо ще видим как можем да използваме Hive за XML.

XML КЪМ HIVE ТАБЛИЦА

В това ще заредим XML данни в Hive таблици и ще извлечем стойностите, съхранени в XML таговете.

Стъпка 1) Създаване на таблица „xmlsample_guru“ с колона str с тип данни string.

Работа с полуструктурирани данни с помощта на Hive

От горната екранна снимка можем да наблюдаваме следното

  1. Създаване на таблица “xmlsample_guru”
  2. Зареждане на данни от test.xml в таблица „xmlsample_guru“

Стъпка 2) Използването на XPath () ще можем да извлечем данните, съхранени в XML тагове.

Работа с полуструктурирани данни с помощта на Hive

От горната екранна снимка можем да наблюдаваме следното

  1. Използвайки метода XPATH(), ние извличаме стойностите, съхранени в /emp/esal/ и /emp/ename/
  2. Стойностите присъстват в XML таговете. В тази стъпка показваме действителни стойности, съхранени под XML тагове в таблица „xmlsample_guru“

Стъпка 3) В тази стъпка ще извлечем и покажем необработения XML на таблицата „xmlsample_guru“.

Работа с полуструктурирани данни с помощта на Hive

От горната екранна снимка можем да наблюдаваме следното

  • Действителните XML данни, показвани с тагове
  • Ако наблюдаваме един таг, той е с „emp“ като родителски таг с „ename“ и „esal“ като дъщерни тагове.

Code фрагмент:

Запитвания за изпълнение

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 (JavaНотация на обект на скрипт)

Данните от Twitter и уебсайтове се съхраняват във формат JSON. Всеки път, когато се опитаме да извлечем данни от онлайн сървъри, те ще върнат JSON файлове. Използвайки Hive като хранилище на данни, можем да зареждаме JSON данни в Hive таблици чрез създаване на схеми.

JSON КЪМ HIVE ТАБЛИЦА

В това ще заредим JSON данни в Hive таблици и ще извлечем стойностите, съхранени в JSON схема.

Стъпка 1) В тази стъпка ще създадем JSON таблица с име „json_guru“. Веднъж създадено зареждане и показване на съдържанието на действителната схема.

Json To Hive Table

От горната екранна снимка можем да наблюдаваме следното

  1. Създаване на таблица „json_guru“
  2. Зареждане на данни от test.json в таблица „json_guru“
  3. Показване на действителна схема на JSON файл, съхранен в таблици json_guru

Стъпка 2) С помощта на метода get_json_object() можем да извлечем стойностите на данните, съхранени в йерархията на JSON

Json To Hive Table

От горната екранна снимка можем да видим следното

  1. С помощта на get_json_object (str,'$.ecode) той може да извлече стойности на ecode от таблица json_guru. По подобен начин, използвайки get_json_object (str,'$.ename), get_json_object (str,'$.Sali), той ще извлече стойности ename sal от таблицата json_guru
  2. Стойности, съхранявани вътре в йерархията на JSON в json_guru

Code отрязък

Запитвания за изпълнение

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;

Сложна JSON TO HIVE ТАБЛИЦА

В това ще заредим комплексни JSON данни в Hive таблици и ще извлечем стойностите, съхранени в JSON схема

Стъпка 1) Създаване на complexjson_guru с поле с една колона

Сложна таблица Json To Hive

От горната екранна снимка можем да наблюдаваме следното

  1. Създаване на таблица complexjson_guru с поле с една колона като низов тип данни
  2. Зареждане на данни в complexjson_guru от emp.json сложен JSON файл

Стъпка 2) С помощта на get_json_object можем да извлечем действителното съдържание, което се съхранява в JSON файловата йерархия.

От следната екранна снимка можем да видим изхода на данните, съхранени в complexjson_guru.

Сложна таблица Json To Hive

Стъпка 3) В тази стъпка, използвайки командата „Избор“, ние всъщност можем да видим сложни JSON данни, съхранени в таблицата „complexjson_guru“

Сложна таблица Json To Hive

-Пример Code Откъс,

Запитвания за изпълнение

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 в екосистемата Hadoop:

Кога

  • Когато работите със силни и мощни статистически функции в екосистемата Hadoop
  • При работа със структурирана и полуструктурирана обработка на данни
  • Като инструмент за съхранение на данни с Hadoop
  • Поглъщане на данни в реално време с HBASE, може да се използва Hive

Къде

  • За лесно използване на ETL и инструмент за съхранение на данни
  • За осигуряване на среда тип SQL и за заявки като SQL с помощта на HIVEQL
  • За използване и внедряване на персонализирани скриптове за карта и редуктор за специфичните изисквания на клиента

Обобщете тази публикация с: