Java 在单个列上应用Pig UDF并自动生成所有其他列
我有一个Pig UDF,可以在管道分隔数据文件中将Ebcidic字符转换为ASCII。 我有数百列,我希望我的自定义项应用于第70列。 如何在该特定列上应用UDF,并在数据集中将列数据替换为ASCIIJava 在单个列上应用Pig UDF并自动生成所有其他列,java,hadoop,apache-pig,udf,Java,Hadoop,Apache Pig,Udf,我有一个Pig UDF,可以在管道分隔数据文件中将Ebcidic字符转换为ASCII。 我有数百列,我希望我的自定义项应用于第70列。 如何在该特定列上应用UDF,并在数据集中将列数据替换为ASCII REGISTER pigudf-0.0.1.jar; DEFINE Ebc2Asc com.z.pig.udf.Ebc2Asc; A = LOAD '/user/T4/cobDump.txt' USING PigStorage('|'); B = FOREACH A GENERATE Ebc2A
REGISTER pigudf-0.0.1.jar;
DEFINE Ebc2Asc com.z.pig.udf.Ebc2Asc;
A = LOAD '/user/T4/cobDump.txt' USING PigStorage('|');
B = FOREACH A GENERATE Ebc2Asc($71) as txt:chararray;
DUMP B;
如果我们像上面那样调用脚本,我只得到转换后的列作为结果的一部分。如何获取所有列以及应用的udf列
谢谢你的帮助 已经有一段时间了,但听起来您想使用自动生成其他列。它应该看起来像:
B = FOREACH A GENERATE $0 .. $70, Ebc2Asc($71) as txt:chararray, $72 .. ;
谢谢,这就是我要找的。