pig-python自定义项问题

r7s23pms  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(266)

我试图在pig中加载一个.mmdb文件,然后将其传递到python脚本中。但是,我得到了错误消息:“invalid scalar projection:db:a column needs to be projected from a relationship for it to be used as a scalar”。我的代码是:

REGISTER 'py_pigscript.py' USING jython AS myudf;
log = LOAD 'test.txt' USING PigStorage(',') AS (x:int);
db = LOAD 'data.mmdb';
result = FOREACH log GENERATE myudf.function(x,db);

任何帮助都将不胜感激。谢谢您!
-编辑:
此脚本的目标是从“test.txt”中的每一行提取一个值,并将其传递给“data.mmdb”以返回其他数据。

c6ubokkw

c6ubokkw1#

这里讨论了一个类似的问题[1]。在您的问题中,代码如下所示:

log = LOAD 'test.txt' USING PigStorage(',') AS (x:int);
db = LOAD 'data.mmdb' AS (entry:(field_1:chararray, field_2....));
result = FOREACH log GENERATE myudf.function(x, db.entry);

[1] 作为udf参数的pig-pass关系

相关问题