0

似乎 Pig 阻止我们重用输出目录。在这种情况下,我想编写一个 Pig UDF,它将接受文件名作为参数,在 UDF 中打开文件并将内容附加到该位置的现有文件中。这可能吗?

提前致谢

4

1 回答 1

0

这可能是可能的,但我不知道这是可取的。为什么不只是有一个新的输出目录?例如,如果最终您希望所有结果都输入/path/to/resultsSTORE则第一次运行的输出为/path/to/results/001,下一次运行的输出为/path/to/results/002,依此类推。通过这种方式,您可以轻松地从任何失败的作业中识别出不良数据,并且如果您希望将所有这些数据放在一起,您只需执行hdfs -cat /path/to/results/*/*.

如果您实际上不想追加,而只想替换现有内容,则可以使用 Pig 的RMFshell 命令:

%DEFINE output /path/to/results
RMF $output
STORE results INTO '$output';
于 2013-02-06T14:40:51.367 回答