我是编程pig的新手,目前正在尝试用pig实现hadoop作业。到目前为止,我的Pig程序工作。我有一些输出文件存储为*.txt,用分号作为分隔符。我的问题是pig在元组的。。。是否可以将输出存储在没有这些括号的文件中?只存储值?也许用自定义项覆盖pigstorage方法?有人给我一个提示吗?我想把我的输出文件读入rdbms(oracle),不带括号。
9q78igpj1#
您可能需要编写自己的自定义存储程序。请参见:http://wiki.apache.org/pig/pig070loadstorehowto.把它写成一个普通的csv或者别的什么东西应该不会太难。还有一个预先存在的dbstorage类,如果需要的话,您可以使用它直接写入oracle。
mitkmikd2#
对于首先找到这个主题的人,这里回答的问题是:去掉pig输出中的括号和逗号在脚本中使用flatten命令,如下所示:
output = FOREACH [variable] GENERATE FLATTEN (($1, $2, $3));<br> STORE output INTO '[path]' USING PigStorage(,);
请注意要展平的输出的第二组括号。
2条答案
按热度按时间9q78igpj1#
您可能需要编写自己的自定义存储程序。请参见:http://wiki.apache.org/pig/pig070loadstorehowto.
把它写成一个普通的csv或者别的什么东西应该不会太难。还有一个预先存在的dbstorage类,如果需要的话,您可以使用它直接写入oracle。
mitkmikd2#
对于首先找到这个主题的人,这里回答的问题是:去掉pig输出中的括号和逗号
在脚本中使用flatten命令,如下所示:
请注意要展平的输出的第二组括号。