0

我想使用 Pig 加载 Hive 表。我认为我们可以做到这一点,HCatLoader但我正在使用 xml 文件来加载 pig。为此,我必须使用XMLLoader. 我可以使用两个选项在 Pig 中加载 XML 文件吗?

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

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

我正在使用 AWS。

4

2 回答 2

0

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

Create external table YOURTABLE (schema)
row format delimited
fields terminated by ','
location '/your/file/directory';
于 2015-10-04T16:19:23.453 回答
0

您可以使用 HCatStorer 将 pig 中的数据存储到 Hive 表中。例如:

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

你的问题不是很清楚。您是否希望在 pig 中处理 XML 和 Hive 数据,做一些事情,然后将结果存储在 Hive 中?只是想将 XML 数据存储在 Hive 中并在那里使用它?

于 2016-10-20T19:43:37.357 回答