中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

Hadoop入门教程:基于Streaming实现作业提交

Hadoop入门教程:基于Streaming实现作业提交,通过执行2.4.2中Streaming方式的编译命令后,会得到可执行程序WordcountMap和WordcountReduce,分别为词频统计的Map和Reduce,然后就可以使用Hadoop Streaming命令来实现作业提交。提交运行脚本的命令如下:

#!/bin/bash

#提交运行脚本

HADOOP_VERSION=1.0.4

Work_path=/home/nuoline/swordcount #用户程序所在目录

HADOOP_HOME=/home/nuoline/hadoop-$HADOOP_VERSION

streaming=$HADOOP_HOME/contrib/streaming/hadoop-streaming-$HADOOP_VERSION.jar

$HADOOP_HOME/bin/hadoop jar $streaming \

-f?ile $Work_path/WordcountMap \

-mapper WordcountMap \

-f?ile $Work_path/WordcountReduce \

-reducer WordcountReduce \

-input /usr/nuoline/wordcount/sinput \

-output /usr/nuoline/wordcount/soutput \

-numReduceTasks 1 \

-jobconf MapRed.job.name="MyWordcount"

在上述提交运行脚本的命令中需要指定HADOOP_HOME环境变量。Streaming命令中最基本的参数说明如表2-1所示。

Streaming用户非常灵活,用户在提交作业到Hadoop集群之前最好能在本地测试一下。本地测试可以使用Linux命令来模拟Hadoop处理流程,命令如下:

cat input.txt / WordcountMap / sort / WordcountReduce > output.txt

input.txt是词频统计的测试用例,output.txt是输出,需要注意的是Map之后需要sort命令,这是因为在Hadoop中Map处理完之后会依据键key进行排序,如果程序在本地测试正常,就可以安全地将其提交到Hadoop上运行。Streaming本身还有很多用法,更详细的内容将在后续章节进行详细介绍。

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页