从Pig脚本调用Python函数

从Pig脚本调用Python函数,python,apache-pig,putty,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

我是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’

这听起来很简单,但我花了几个小时在上面,却失败了。任何建议都将不胜感激。

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

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


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

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

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


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

确保python文件和pig脚本位于同一文件夹中。确保python文件和pig脚本位于同一文件夹中。