将数据加载到猪的udf python中

时间:2015-04-28 09:25:09

标签: python apache-pig

我正在使用python为PIG编写UDF函数。我发现了一个问题,因为我需要从文件中加载一些数据来计算udf结果。

我将使用一个例子来扩展我的想法。我的想法是编写两个函数,其中一个用于初始化:

abbr = []   
def set (filename):
    file = open(filename, "r")
    for i in file:
        abbr.append(i)

@outputSchema("out:chararray")
def get (line):
    for i in abbr:
        if line.endswith(i):
            return "yes"
    return "no"

我的PIG脚本应该拨打一次"设置"在使用" get"之前。但是我不知道怎么做。我也尝试使用带有构造函数的类,但我没有设法调用成员函数" get"。

有人可以帮助我吗?

更新

我已经解决了#34;现在有一个不太漂亮的解决方法:

abbr = []
@outputSchema("out:chararray")
def get (line):
    if len(abbr)==0:
        file = open("file.txt", "r")
        for i in file:
            abbr.append(i)
    for i in abbr:
        if line.endswith(i):
            return "yes"
        return "no"

0 个答案:

没有答案