Я использую XPath для синтаксического анализа XML с помощью свинью, но в моем случае использования я должен разобрать весь файл XML и перенести его в улья таблицы. Я думаю использовать XPath для синтаксического анализа XML-файла, а затем переместить эти анализируемые данные в таблицу hive с помощью свиньи. Но есть ли другой способ сделать это?Анализировать XML и хранить в улей таблице
2
A
ответ
3
Мы можем проанализировать XML-файл в Hive с помощью hivexmlserde.
Создайте таблицу внешнего улья с помощью hivexmlserde и поместите весь XML-файл в это местоположение xml (все файлы xml должны быть похожими). Используя этот серд, вам нужно определить начальный и конечный теги в инструкции create table и XPath атрибутов, которые вы хотите получить.
См. Пример ниже.
add jar /home/udf_jars/hivexmlserde-1.0.5.3.jar;
CREATE EXTERNAL TABLE hive_test_xml(
col1 string,
col2 string,
col3 string
)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.col1"="/Books/col1/text()",
"column.xpath.col2"="/Books/col2/text()",
"column.xpath.col3"="/Books/col3/text()"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION ' /user/user1/xml/data'
TBLPROPERTIES (
"xmlinput.start"="<Books",
"xmlinput.end"="</Books>");
Для получения более подробной информации, пожалуйста, посетите Hive-XML-Options ссылку больше об этом.
Обновление: Как выбрать данные из таблицы.
Перед запросом необходимо добавить hivexmlserde-1.0.5.3.jar
. См. Пример ниже.
hive> add jar /path/to/jar/hivexmlserde-1.0.5.3.jar;
Added [add jar /path/to/jar/hivexmlserde-1.0.5.3.jar] to class path
Added resources: [add jar /path/to/jar/hivexmlserde-1.0.5.3.jar]
hive> use mydatabase_name;
OK
Time taken: 0.021 seconds
hive> select * from xm_table;
Вы также можете установить эту банку навсегда, чтобы не добавлять все время до запроса. Ниже приведена ссылка
Смежные вопросы
- 1. разбора XML и хранить в таблице
- 2. Хранить XML из SQL Server в объекте и анализировать
- 3. Как анализировать xml-ответ в переменной и хранить в таблице с помощью php и mysql?
- 4. анализировать данные конкретного сайта и хранить их в таблице db
- 5. Анализировать XML строка хранится в таблице Oracle
- 6. Как анализировать xml с помощью xmllint и хранить в массивах
- 7. Sqoop запросов в улей таблице
- 8. HBase Снимок в улей таблице
- 9. установка сжатия на таблице улей
- 10. Анализировать XML в Scala
- 11. Анализировать XML и преобразовать хэш
- 12. Анализировать XML в PowerShell
- 13. Анализировать XML в Actionscript
- 14. Анализировать XML в объект
- 15. Анализировать XML в C++
- 16. Анализировать XML в Go
- 17. Xml Анализировать в PHP
- 18. XML Анализировать в Linux
- 19. Анализировать XML в JSON
- 20. Анализировать XML в R
- 21. Рассчитать проценты между столбцами в таблице улей
- 22. Таблицы улей не отображаются в таблице
- 23. Удалить строку в таблице улей внешней таблицы
- 24. Анализировать MathML в XML и PHP
- 25. Часть Имя файла в качестве столбца в таблице улей
- 26. лучший способ хранить большой текст в таблице, XML или JSON?
- 27. Загрузить данные в формате CSV в улей таблице
- 28. Как анализировать в PHP и хранить в базе данных?
- 29. Хранить XSD в таблице по сравнению с XML SCHEMA COLLECTION
- 30. Хранить xml в атрибуте xml
Можете ли вы предоставить образец XML-файла? –
@SandeepSingh на самом деле это конфиденциально для моей компании, а также очень чувствительные данные, поэтому я не могу поделиться им. Вы можете думать о нем как о 30000 строках данных XML. – animal
Я могу это понять. Вы можете анализировать XML-файл с помощью Hive и XPath. Исходя из этой информации, я могу предложить один ответ. см. ниже. –