【问题标题】:Call Python function from Pig script从 Pig 脚本调用 Python 函数
【发布时间】:2018-04-03 05:53:37
【问题描述】:

我是 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脚本在同一个文件夹中。

标签: python apache-pig putty


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-01-05
    • 2012-01-23
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多