我正在尝试在Pig中加载.mmdb文件,然后将其传递给python脚本。但是我收到错误消息:“无效的标量投影:db:需要从关系中投射一个列,以便将其用作标量”。我的代码是:
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);
任何帮助将不胜感激。谢谢!
-edit:
此脚本的目标是从'test.txt'中的每一行中提取一个值,并将它们传递给'data.mmdb'以返回其他数据。
答案 0 :(得分:1)
这里讨论类似的问题[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);