On this page
猪工作-POST 猪
Description
创建并排队Pig作业。
URL
http://
* www.myserver.com * /templeton/v1/pig
Parameters
Name | Description | Required? | Default | ||
---|---|---|---|---|---|
execute | 包含要运行的完整的简短 Pig 程序的字符串。 | 需要“执行”或“文件”之一。 | None | ||
file | 要运行的 Pig 程序的 HDFS 文件名。 | 需要“执行”或“文件”之一。 | None | ||
arg | 设置程序参数。如果包含-useHCatalog ,则“ usehcatalog”将被解释为“ true”(Hive 0.13.0 和更高版本)。 |
Optional | None | ||
files | 逗号分隔的文件将被复制到 map reduce 集群。 | Optional | None | ||
statusdir | WebHCat 将在其中写入 Pig 工作状态的目录。如果提供了此目录,则调用者有责任在完成后删除此目录。 | Optional | None | ||
enablelog | 如果设置 statusdir 且 enablelog 为“ true”,请收集 Hadoop 作业配置并在作业完成后登录名为$statusdir/logs 的目录。完成和失败的尝试都将被记录。 $statusdir/logs 中子目录的布局为: |
||||
logs/$job_id ($ job_id 的目录)logs/$job_id/job.xml.html logs/$job_id/$attempt_id ($ attempt_id 的目录)logs/$job_id/$attempt_id/stderr logs/$job_id/$attempt_id/stdout logs/$job_id/$attempt_id/syslog 此参数是在 Hive 0.12.0 中引入的。 (请参见HIVE-4531。) |
Hive 0.12.0 中的可选 | 无 | |||
callback | 定义在作业完成时要调用的 URL。您可以使用$jobId 将特定的工作 ID 嵌入此 URL。 |
可选 | 无 | 将在回调 URL 中用此作业的作业 ID 替换该标签。 | |
usehcatalog | 指定提交的作业使用 HCatalog,因此需要访问元存储,这需要 WebHCat 在安全集群中执行附加步骤。 (请参阅HIVE-5133。)此参数将在 Hive 0.13.0 中引入。也可以通过在 arg 参数中包含-useHCatalog 将其设置为“ true”。另外,如果 webhcat-site.xml 定义了参数 templeton.hive.archive ,templeton.hive.home 和templeton.hcat.home ,则 WebHCat 会将 Hive tar 发送到作业运行的目标节点。 (请参阅HIVE-5547。)这意味着 Hive 不需要安装在 Hadoop 集群中的每个节点上。它不能确保在群集的目标节点上安装了 Pig。这与安全性无关,但是提高了可 Management 性。webhcat-site.xml 参数记录在 webhcat-default.xml 中。 |
Hive 0.13.0 中的可选 | false |
standard parameters也受支持。
Results
Name | Description |
---|---|
id | 包含类似于“ job_201110132141_0001”的作业 ID 的字符串。 |
info | 一个 JSON 对象,其中包含作业排队时返回的信息。有关更多信息,请参见 Hadoop 文档(Class TaskController)。 |
Example
代码和数据设置
% cat id.pig
A = load 'passwd' using PigStorage(':');
B = foreach A generate $0 as id;
dump B;
% cat fake-passwd
ctdean:Chris Dean:secret
pauls:Paul Stolorz:good
carmas:Carlos Armas:evil
dra:Deirdre McClure:marvelous
% hadoop fs -put id.pig .
% hadoop fs -put fake-passwd passwd
Curl Command
% curl -s -d file=id.pig \
-d arg=-v \
'http://localhost:50111/templeton/v1/pig?user.name=ekoifman'
Version information
在 Hive 0.13.0 之前,在 POST 请求中将 user.name 指定为表单参数curl -d user.name=<user>
。
从Hive 0.13.0开始,应在查询字符串中指定 user.name(如上所示):'http://.../templeton/v1/pig?user.name=<name>'
。不建议将 user.name 指定为表单参数。
JSON Output
{
"id": "job_201111101627_0018",
"info": {
"stdout": "templeton-job-id:job_201111101627_0018
",
"stderr": "",
"exitcode": 0
}
}
Navigation Links
Previous: POST mapreduce/jar
Next: POST hive
常规:WebHCat Reference – WebHCat Manual – HCatalog Manual – Hive Wiki 主页 – Hive 项目 site