【问题标题】:Pig - Python UDF issue猪 - Python UDF 问题
【发布时间】:2023-03-13 21:25:01
【问题描述】:

我正在尝试在 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);

任何帮助将不胜感激。谢谢!

-编辑:

此脚本的目标是从“test.txt”中的每一行中提取一个值,并将它们传递给“data.mmdb”以返回其他数据。

【问题讨论】:

  • 您正在将关系传递给您的udf,这没有任何意义。但是,在没有更多信息的情况下,很难提供其他帮助。

标签: python apache-pig geoip udf


【解决方案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);

[1]Pig pass relation as argument to UDF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多