Hadoop - 使用PIG加载Hive表

时间:2015-10-03 09:54:08

标签: hadoop hive apache-pig hcatalog

我想使用Pig加载Hive表。我想我们可以通过 HCatLoader 来实现这一点,但我使用的是xml文件来加载pig。为此,我必须使用 XMLLoader 。我可以使用两个选项在Pig中加载XML文件。

我使用自己的UDF从XML文件中提取数据,一旦我们提取了所有数据,我就必须在Hive表中加载Pig数据。

我不能使用HIVE来提取XML数据,因为我收到的XML非常复杂,我编写了自己的UDF来解析XML。有关如何使用PIG数据加载Hive表的任何建议或指示。

我正在使用AWS。

2 个答案:

答案 0 :(得分:0)

您可以使用分隔符(可能是逗号)将加载的数据存储到文本文件中,然后在指向文件位置的配置单元中创建外部表。

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

答案 1 :(得分:0)

You can store data from pig into Hive tables using HCatStorer. For example:

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();

Your question isn't quite clear. Are you hoping to work with the XML and Hive data within pig, do something, and then store the result in Hive? Just trying to store the XML data in Hive and work with it there?