天天看点

《深入理解大数据:大数据处理与编程实践》一一2.4 Hadoop MapReduce程序开发过程

本节书摘来自华章计算机《深入理解大数据:大数据处理与编程实践》一书中的第2章,第2.4节,作者 主 编:黄宜华(南京大学)副主编:苗凯翔(英特尔公司),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

hadoop mapreduce程序的开发一般是在程序员本地的单机hadoop系统上进行程序设计与调试,然后上载到hadoop集群上运行。开发环境可以使用eclipse,也可以使用其他开发环境,如intellij。本节仅仅介绍使用eclipse开发hadoop程序的过程。

可以下载linux版本的eclipse ide for java开发包,并安装在本地的linux系统中。

1.?启动eclipse

启动eclipse后,会出现如图2-2所示的界面

2.?创建java project

创建java project的界面如图2-3所示。

《深入理解大数据:大数据处理与编程实践》一一2.4 Hadoop MapReduce程序开发过程

3.?配置java project

这一步需要加入外部的jar文件:hadoop-core-1.2.1.jar以及lib下所有的jar包,见图2-4。

《深入理解大数据:大数据处理与编程实践》一一2.4 Hadoop MapReduce程序开发过程

图2-4 加入相应jar包

4.?编写程序代码

编写相应的mapreduce程序的代码,见图2-5。

《深入理解大数据:大数据处理与编程实践》一一2.4 Hadoop MapReduce程序开发过程

图2-5 编写程序代码

5.?编译源代码

编译mapreduce程序。待完成编译时,导出jar文件,如图2-6所示。

《深入理解大数据:大数据处理与编程实践》一一2.4 Hadoop MapReduce程序开发过程

图2-6 编译源代码

6.?本地运行调试

在导出jar文件的时候,需要指定一个主类main class,作为默认执行的一个类。将程序复制到本地hadoop系统的执行目录,可以准备一个小的测试数据,即可通过hadoop的安装包进行运行调试。

7.?远程作业提交

当需要用集群进行海量数据处理时,在本地程序调试正确运行后,可按照远程作业提交步骤,将作业提交到远程集群上运行。

以hadoop mapreduce计算pi值的示例程序为例,运行程序的命令是:

$hadoop jar $hadoop_home/hadoop-examples-1.2.1.jar pi2 5

其中,第一个参数是指要运行的map的次数;第二个参数是指每个map任务取样的个数。