猪存储输出时删除括号

时间:2012-12-07 12:48:15

标签: hadoop apache-pig bigdata parentheses

我是猪编程的新手,目前我正在尝试用猪实现我的Hadoop工作。 到目前为止,我的猪计划工作。我有一些输出文件存储为* .txt,分号为分隔符。 我的问题是Pig在元组周围添加了括号......

是否可以将输出存储在没有这些括号的文件中?只存储值?也许用UDF覆盖PigStorage方法? 有人对我有暗示吗?

我想在没有括号的情况下将输出文件读入RDBMS(Oracle)。

2 个答案:

答案 0 :(得分:1)

您可能需要编写自己的自定义Storer。请参阅:http://wiki.apache.org/pig/Pig070LoadStoreHowTo

将它写成普通的CSV或其他任何东西都不应该太困难。还有一个预先存在的DBStorage类,如果需要,您可以使用它直接写入Oracle。

答案 1 :(得分:1)

对于首先找到此主题的人,请在此处回答问题: Remove brackets and commas in output from Pig

在脚本中使用FLATTEN命令,如下所示:

output = FOREACH [variable] GENERATE FLATTEN (($1, $2, $3));<br>
STORE output INTO '[path]' USING PigStorage(,);

注意要展平的输出的第二组括号。