Hive ETL: Зареждане на JSON, XML, Примери за текстови данни
Hive като ETL и инструмент за съхранение на данни отгоре Hadoop Екосистемата предоставя функционалности като моделиране на данни, манипулиране на данни, обработка на данни и заявки към данни. Data Extrac„Управление“ в Hive означава създаване на таблици в Hive и зареждане на структурирани и полуструктурирани данни, както и заявки към данни въз основа на изискванията.
За пакетна обработка ще напишем персонализирани скриптове, използвайки персонализирана карта и ще намалим скриптовете, използвайки скриптов език. Той осигурява SQL като среда и поддръжка за лесно търсене.
Работа със структурирани данни с помощта на Hive
Структурирани данни означава, че данните са в правилния формат на редове и колони. Това е по-скоро като RDBMS данни с правилни редове и колони.
Тук ще заредим структурирани данни, налични в текстови файлове в Hive
Стъпка 1) В тази стъпка създаваме таблица „employees_guru“ с имена на колони като Id, Name, Age, Address, Salary и Department на служителите с типове данни.
От горната екранна снимка можем да наблюдаваме следното,
- Създаване на таблица “employees_guru”
- Зареждане на данни от Employees.txt в таблица "employees_guru"
Стъпка 2) В тази стъпка показваме съдържанието, съхранено в тази таблица, като използваме командата „Избор“. Можем да наблюдаваме съдържанието на таблицата в следната екранна снимка.
– Примерен кодов фрагмент
Запитвания за изпълнение
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.
От горната екранна снимка можем да наблюдаваме следното
- Създаване на таблица “xmlsample_guru”
- Зареждане на данни от test.xml в таблица „xmlsample_guru“
Стъпка 2) Използването на XPath () ще можем да извлечем данните, съхранени в XML тагове.
От горната екранна снимка можем да наблюдаваме следното
- Използвайки метода XPATH(), ние извличаме стойностите, съхранени в /emp/esal/ и /emp/ename/
- Стойностите присъстват в XML таговете. В тази стъпка показваме действителни стойности, съхранени под XML тагове в таблица „xmlsample_guru“
Стъпка 3) В тази стъпка ще извлечем и покажем необработения XML на таблицата „xmlsample_guru“.
От горната екранна снимка можем да наблюдаваме следното
- Действителните 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_guru“
- Зареждане на данни от test.json в таблица „json_guru“
- Показване на действителна схема на JSON файл, съхранен в таблици json_guru
Стъпка 2) С помощта на метода get_json_object() можем да извлечем стойностите на данните, съхранени в йерархията на JSON
От горната екранна снимка можем да видим следното
- С помощта на get_json_object (str,'$.ecode) той може да извлече стойности на ecode от таблица json_guru. По подобен начин, използвайки get_json_object (str,'$.ename), get_json_object (str,'$.Sali), той ще извлече стойности ename sal от таблицата json_guru
- Стойности, съхранявани вътре в йерархията на 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 с поле с една колона
От горната екранна снимка можем да наблюдаваме следното
- Създаване на таблица complexjson_guru с поле с една колона като низов тип данни
- Зареждане на данни в complexjson_guru от emp.json сложен JSON файл
Стъпка 2) С помощта на get_json_object можем да извлечем действителното съдържание, което се съхранява в JSON файловата йерархия.
От следната екранна снимка можем да видим изхода на данните, съхранени в complexjson_guru.
Стъпка 3) В тази стъпка, използвайки командата „Избор“, ние всъщност можем да видим сложни JSON данни, съхранени в таблицата „complexjson_guru“
-Пример 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
- За използване и внедряване на персонализирани скриптове за карта и редуктор за специфичните изисквания на клиента










