猪 - Python UDF 问题

Pig - Python UDF issue

我正在尝试在 Pig 中加载 .mmdb 文件,然后将其传递到 python 脚本中。但是我收到错误消息:"Invalid scalar projection: db: A column needs to be projected from a relation 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' 以 return 附加数据。

这里讨论了一个类似的问题 [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]