apache-hive / 3.1.1 / reference / WebHCat_Reference_MapReduceStream.html

MapReduce 流作业-POST mapreduce /流

Description

创建并排队Hadoop 流式 MapReduce作业。

Version: Hive 0.13.0 and later

从 Hive 0.13.0 开始,GET version/hadoop显示用于 MapReduce 作业的 Hadoop 版本。

URL

http:// * www.myserver.com * /templeton/v1/mapreduce/streaming

Parameters

Name Description Required? Default
input Importing 数据在 Hadoop 中的位置。 Required None
output 存储输出数据的位置。如果未指定,WebHCat 会将输出存储在可以使用queue资源发现的位置。 Optional See description
mapper Map 程序在 Hadoop 中的位置。 Required None
reducer reducer 程序在 Hadoop 中的位置。 Required None
file 将 HDFS 文件添加到分布式缓存。 Optional None
define 使用语法define=NAME=VALUE设置 Hadoop 配置变量 Optional None
cmdenv 使用语法cmdenv=NAME=VALUE设置环境变量 Optional None
arg 设置程序参数。 Optional None
statusdir WebHCat 将在其中写入 Map Reduce 作业状态的目录。如果提供了此目录,则调用者有责任在完成后删除此目录。 Optional None
enablelog 如果设置 statusdirenablelog 为“ 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 替换该标签。

standard parameters也受支持。

Results

Name Description
id 包含类似于“ job_201110132141_0001”的作业 ID 的字符串。
info 一个 JSON 对象,其中包含作业排队时返回的信息。有关更多信息,请参见 Hadoop 文档(Class TaskController)。

Example

代码和数据设置

% cat mydata/file01 mydata/file02
Hello World Bye World
Hello Hadoop Goodbye Hadoop

% hadoop fs -put mydata/ .

% hadoop fs -ls mydata
Found 2 items
-rw-r--r--   1 ctdean supergroup         23 2011-11-11 13:29 /user/ctdean/mydata/file01
-rw-r--r--   1 ctdean supergroup         28 2011-11-11 13:29 /user/ctdean/mydata/file02

Curl Command

% curl -s -d input=mydata \
       -d output=mycounts \
       -d mapper=/bin/cat \
       -d reducer="/usr/bin/wc -w" \
       'http://localhost:50111/templeton/v1/mapreduce/streaming?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/mapreduce/streaming?user.name=<name>'。不建议将 user.name 指定为表单参数。

JSON Output

{
 "id": "job_201111111311_0008",
 "info": {
          "stdout": "packageJobJar: [] [/Users/ctdean/var/hadoop/hadoop-0.20.205.0/share/hadoop/contrib/streaming/hadoop-streaming-0.20.205.0.jar...
                    templeton-job-id:job_201111111311_0008
                    ",
          "stderr": "11/11/11 13:26:43 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments
                    11/11/11 13:26:43 INFO mapred.FileInputFormat: Total input paths to process : 2
                    ",
          "exitcode": 0
         }
}

Example Results

% hadoop fs -ls mycounts
Found 3 items
-rw-r--r--   1 ctdean supergroup          0 2011-11-11 13:27 /user/ctdean/mycounts/_SUCCESS
drwxr-xr-x   - ctdean supergroup          0 2011-11-11 13:26 /user/ctdean/mycounts/_logs
-rw-r--r--   1 ctdean supergroup         10 2011-11-11 13:27 /user/ctdean/mycounts/part-00000

% hadoop fs -cat mycounts/part-00000
      8

Navigation Links

Previous: PUT ddl/database/:db/table/:table/property/:property
Next: POST mapreduce/jar

常规:WebHCat ReferenceWebHCat ManualHCatalog ManualHive Wiki 主页Hive 项目 site