用户定义函数—将文件存储在pig中已占用的位置

irlmq6kh  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(368)

似乎pig阻止了我们重用输出目录。在这种情况下,我想编写一个接受文件名作为参数的pig udf,打开udf中的文件并将内容附加到该位置已经存在的文件中。这可能吗?
提前谢谢

hsvhsicv

hsvhsicv1#

也许有可能,但我不知道这是否可取。为什么不创建一个新的输出目录呢?例如,如果你最终想要所有的结果 /path/to/results , STORE 第一次运行的输出 /path/to/results/001 ,下一次遇到 /path/to/results/002 ,等等。通过这种方式,您可以很容易地从任何失败的作业中识别出错误数据,如果您希望将所有这些数据放在一起,您可以这样做 hdfs -cat /path/to/results/*/* .
如果您实际上不想追加内容,而是只想替换现有内容,那么可以使用pig的 RMF shell命令:

%DEFINE output /path/to/results
RMF $output
STORE results INTO '$output';

相关问题