pig在存储输出时删除括号

pepwfjgg  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(375)

我是编程pig的新手,目前正在尝试用pig实现hadoop作业。到目前为止,我的Pig程序工作。我有一些输出文件存储为*.txt,用分号作为分隔符。我的问题是pig在元组的。。。
是否可以将输出存储在没有这些括号的文件中?只存储值?也许用自定义项覆盖pigstorage方法?有人给我一个提示吗?
我想把我的输出文件读入rdbms(oracle),不带括号。

9q78igpj

9q78igpj1#

您可能需要编写自己的自定义存储程序。请参见:http://wiki.apache.org/pig/pig070loadstorehowto.
把它写成一个普通的csv或者别的什么东西应该不会太难。还有一个预先存在的dbstorage类,如果需要的话,您可以使用它直接写入oracle。

mitkmikd

mitkmikd2#

对于首先找到这个主题的人,这里回答的问题是:去掉pig输出中的括号和逗号
在脚本中使用flatten命令,如下所示:

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

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

相关问题