我正在开发一个使用 LinkedIn 的 datafu UDF 编译的 TransposeTupleToBag UDF 的项目。在这里找到:https ://github.com/linkedin/datafu/tree/master/src/java/datafu/pig/util 。我在 grunt shell 中执行以下命令:
REGISTER jar-file;
DEFINE Transpose datafu.pig.util.TransposeTupleToBag();
a = load data 'file' using PigStorage(',') as (schema);
b = foreach a generate select_columns_from_schema;
c = foreach b generate col1, col2, datafu.pig.util.Transpose(col3, col4...coln);
当我执行最后一行时,我收到此错误:
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: Instance name is null.
This should not happen unless UDFContextSignature was not set.
我究竟做错了什么?如何避免?我也没有更改他们的任何代码。而且我只使用 TransposeTupleToBag、FieldNotFound 和 AliasableEvalFunc,因为它们是成功运行 Transpose 所需的类。我什至对所有加载的类都进行了同样的尝试,但它仍然给了我同样的错误。这是怎么回事?请帮忙。谢谢!