【发布时间】:2016-03-09 13:41:13
【问题描述】:
我正在使用 Java 在 Hadoop 环境中为 Pig Latin 创建用户定义函数 UDF。我想创建多个输出文件。我尝试创建一个 Java 程序来输出这些 CSV 文件,如下所示:
public String exec(Tuple input)
throws IOException {
if(input.equals("age")){
outputFile = new FileWriter("C:\\UDF\\output_age.csv");
}else{
outputFile = new FileWriter("C:\\UDF\\output_general.csv");
}
}
但这不起作用。有没有其他方法可以做到这一点,无论是通过 Java 还是 Pig Latin 本身?
【问题讨论】:
-
哪里失败了?
-
只是没有创建csv文件
-
我可以建议编辑
udf标签吗?我个人认为 UDF 是 Universal Disk Format 而不是“用户定义的函数”。如果将两者混合使用可能会很混乱......不幸的是,我还不确定如何编辑/更改标签 -
c:\UDF存在吗?你有写它的权限吗? -
元组参数永远不会等于字符串“age”。您必须从元组中提取元素,就像它是一个列表一样。另外,如果你不是在本地模式下运行pig,则无法写入文件,因为文件系统是HDFS,没有C盘
标签: java hadoop apache-pig user-defined-functions pig-udf