2015-10-03 4 views
0

Я хочу загрузить таблицы Hive с помощью Pig. Я думаю, мы можем сделать это через HCatLoader, но я использую файлы xml для загрузки свиньи. Для этого я должен использовать XMLLoader. Могу ли я использовать два параметра для загрузки файлов XML на Pig.Hadoop - Таблицы загрузки Hive с помощью PIG

Я извлекаю данные из XML-файлов, используя свой собственный UDF, и как только мы извлекаем все данные, мне приходится загружать данные Pig в таблицы Hive.

Я не могу использовать HIVE для извлечения данных XML, поскольку полученный мной XML довольно сложный, и я написал собственный UDF для анализа XML. Любые предложения или указатели, как мы можем загружать таблицы Hive с использованием данных PIG.

Я использую AWS.

ответ

0

Вы можете ЗАПОМНИТЬ загруженные данные в текстовый файл с помощью разделителей (может быть запятой), а затем создать внешнюю таблицу в улье, указывающую на местоположение вашего файла.

Create external table YOURTABLE (schema) 
row format delimited 
fields terminated by ',' 
location '/your/file/directory'; 
+0

Да, но это не оптимизированное решение. Это мы можем реализовать в любое время. Любой указатель, где я могу напрямую получить доступ к данным свиньи через улей. – Ajay

0

Вы можете хранить данные из свиньи в таблицах Hive, используя HCatStorer. Например:

register 's3n://bucket/path/xmlUDF.jar' 
xml = LOAD 's3n://bucket/pathtofiles' USING xmlUDF(); 
STORE xml INTO 'database.table' USING org.apache.hive.hcatalog.pig.HCatStorer(); 

Ваш вопрос не совсем ясен. Вы надеетесь работать с данными XML и Hive в свиноводстве, что-то делать, а затем сохранить результат в Hive? Просто пытаетесь сохранить данные XML в Hive и работать с ним там?

 Смежные вопросы

  • Нет связанных вопросов^_^