Hive като ETL и инструмент за съхранение на данни върху екосистемата на Hadoop предлага функционалности като моделиране на данни, манипулиране на данни, обработка на данни и заявки за данни. Извличането на данни в Hive означава създаване на таблици в Hive и зареждане на структурирани и полуструктурирани данни, както и заявки за данни въз основа на изискванията.
За групова обработка ще напишем персонализирани дефинирани скриптове с помощта на персонализирана карта и ще намалим скриптове с помощта на скриптов език. Той осигурява среда като SQL и поддръжка за лесно заявки.
В този урок ще научите -
- Работа със структурирани данни с помощта на Hive
- Работа с полуструктурирани данни с помощта на Hive (XML, JSON)
- Hive в проекти в реално време - кога и къде да се използва
Работа със структурирани данни с помощта на Hive
Структурирани данни означава, че данните са в правилния формат на редове и колони. Това е по-скоро като RDBMS данни с правилни редове и колони.
Тук ще заредим структурирани данни, присъстващи в текстови файлове в Hive
Стъпка 1) В тази стъпка създаваме таблица "staff_guru" с имена на колони като Id, Име, Възраст, Адрес, Заплата и Отдел на служителите с типове данни.
От горната екранна снимка можем да наблюдаваме следното,
- Създаване на таблица "staff_guru"
- Зареждане на данни от Employees.txt в таблица "staff_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 ЗА МАСА
В това ще заредим XML данни в Hive таблици и ще извлечем стойностите, съхранени в XML таговете.
Стъпка 1) Създаване на таблица "xmlsample_guru" с колона str с тип данни низ.
От горната екранна снимка можем да наблюдаваме следното
- Създаване на таблица "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" като дъщерни тагове.
Кодов фрагмент:
Заявки за изпълнение
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 обектна нотация)
Данните от Twitter и уебсайтове се съхраняват във формат JSON. Всеки път, когато се опитаме да извлечем данни от онлайн сървъри, той ще върне JSON файлове. Използвайки Hive като хранилище за данни, ние можем да заредим JSON данни в Hive таблици чрез създаване на схеми.
JSON ДА ХАЙВ МАСА
В това ще заредим 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), той ще извлече стойностите на емайла sal от таблица json_guru
- Стойности, съхранявани в JSON Йерархия в json_guru
Кодов фрагмент
Заявки за изпълнение
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 ДА МАСИ
В това ще заредим сложни JSON данни в Hive таблици и ще извлечем стойностите, съхранени в JSON схема
Стъпка 1) Създаване на kompleksjson_guru с поле с една колона
От горната екранна снимка можем да наблюдаваме следното
- Създаване на таблица complexjson_guru с поле с единична колона като низ тип данни
- Зареждане на данни в complexjson_guru от сложния JSON файл emp.json
Стъпка 2) С помощта на get_json_object можем да извлечем действителното съдържание, което се съхранява в JSON файловата йерархия.
От следващата екранна снимка можем да видим изхода на данните, съхранявани в complexjson_guru.
Стъпка 3) В тази стъпка, използвайки командата "Select", ние всъщност можем да видим сложни JSON данни, съхранявани в таблицата "complexjson_guru"
-Примерен кодов фрагмент,
Заявки за изпълнение
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
- Да използвате и внедрите персонализирани скриптове за карти и редуктори за конкретните изисквания на клиента
- Следващия