0

我正在使用 HCatalog 的 WebHCat API 来运行 Pig 作业,例如此处记录:

https://cwiki.apache.org/confluence/display/Hive/WebHCat+Reference+Pig

我运行一个简单的作业没有问题,但我想将一个参数文件附加到作业中,例如可以使用 pig 命令行的参数:--param_file.

我假设这可以通过arg请求的参数实现,所以我尝试了多种方法,例如传递:

'arg': '-param_file /path/to/param.file'

或者:

'arg': {'param_file': '/path/to/param.file'}

似乎没有一个工作,错误堆栈并没有说太多。我很想知道这是否可行,如果可以,如何正确实现。

非常感谢

4

1 回答 1

0

正确用法:

'arg': ['-param_file', '/path/to/param.file']

说明:通过传递 arg 中的值,

'arg': {'-param_file': '/path/to/param.file'}

webhcat 为命令提示符生成“-param_file”。猪抛出以下错误

ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Can not create a Path from a null string

使用逗号而不是冒号运算符将文件路径作为第二个参数传递。webhcat 将生成“-param_file”“/path/to/param.file”

PS:我在 python 上使用 Requests 库来进行 REST 调用

于 2014-10-04T23:25:22.447 回答