从Pig脚本调用Python函数

时间:2018-04-03 05:53:37

标签: python apache-pig putty

我是Pig的新手,在通过PuTTy连接到服务器之后,想从Pig调用本地python文件。以下是我尝试的代码和收到的错误消息:

REGISTER ‘myudf.py’ using jython as my_udf

错误信息如下,我不知道如何告诉Pig py文件的路径。

File myudf.py does not exist

我尝试的另一个代码是:

DEFINE mycommand `python myudf.py` ship(‘C:\Users\myname\Documents\code\myudf.py’);

错误消息是

unexpected character ’S’

这可能听起来很容易,但我花了几个小时就失败了。任何建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

听起来Python文件保存在您自己的计算机上,但您在服务器上运行Pig。服务器无法访问您计算机上的文件。

您可以使用WinSCP等软件传输文件(假设您使用的是Windows),或者在服务器上启动文本编辑器,然后将Python文件中的文本复制/粘贴到文本编辑器中。例如,PuTTy中的vi myudf.pyemacs myudf.py将启动文本编辑器,并在您保存后在服务器上创建名为myudf.py的文件。

创建Python文件后,您可能希望在REGISTER语句中包含服务器上文件的完整路径,以避免混淆。 (pwd显示服务器上的当前目录。)