我正在用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之前调用一次set。但我不知道怎么做。我还尝试使用一个带有构造函数的类,但是我没有成功地调用成员函数“get”。
有人能帮我吗?
更新:
我“决定”现在有一个不太漂亮的解决办法:
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"
暂无答案!
目前还没有任何答案,快来回答吧!