IDEA+Hadoop运行MapReduce程序


文章目录

  • IDEA+Hadoop运行MapReduce程序
  • IDEA新建项目
  • 项目配置
  • 新建Java类
  • 配置编译器
  • 运行程序
  • 参考博客


IDEA新建项目

首先,请确保电脑上已经安装了 Hadoop 并配置了环境变量。如果没有的话,请参考这篇博客 Windows下配置单机Hadoop环境

首先,打开IDEA,新建一个 Java 项目(不需要从模板创建)

idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包

项目名字随便,我们就起为“CloudCalculate”,点击 Finish

idea 导入hadoop包 idea运行hadoop_jar_02

项目配置

在菜单栏点击 idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_03 -> idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_04 ,这两处的 SDK 版本要对应才行

idea 导入hadoop包 idea运行hadoop_jar_05


idea 导入hadoop包 idea运行hadoop_IDEA_06


点击左侧的 Modules,找到 Sources 配置,这里的 Language level 也要和刚才的 SDK 版本相同才行。

idea 导入hadoop包 idea运行hadoop_IDEA_07

还是在 Modules 下,找到 Dependencies 配置,点击右侧的加号,选择第一个“JARs or directories”。在弹出的窗口中选择当初安装 Hadoop 的路径,导入以下五个 hadoop 的 jar 包依赖。

idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_08


idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_09


如果弹出需要 Choose Roots,点击OK就行。

idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_10

在左侧找到 Artifacts,点击中间的加号,选择 idea 导入hadoop包 idea运行hadoop_jar_11 -> idea 导入hadoop包 idea运行hadoop_TriangleCount_12。名字随便起,我们就命名为“TriangleCount”。

idea 导入hadoop包 idea运行hadoop_Hadoop_13

点击下面“Output Layout”页的加号,选择“Module Output”,点击OK。

idea 导入hadoop包 idea运行hadoop_jar_14

检查一个右侧 CloudCalculate 的五个依赖包是否正确。如果是这五个依赖就没有问题。

hadoop-nfs-2.7.7.jar
hadoop-hdfs-2.7.7.jar
xz-1.0.jar
hadoop-mapreduce-example-2.7.7.jar
hadoop-yarn-api-2.7.7.jar

idea 导入hadoop包 idea运行hadoop_TriangleCount_15

新建Java类

在项目文件目录中右击 src,新建一个 Java class,命名为“Triangle”。

idea 导入hadoop包 idea运行hadoop_Hadoop_16

代码的话可以自己尝试着写,这里我们给出一个计算三角形个数的 Java 代码以及测试数据集的百度云地址链接

链接:https://pan.baidu.com/s/1g3-pmUqf7Lfh2NTWe3muow
提取码:fkrs

idea 导入hadoop包 idea运行hadoop_jar_17

配置编译器

在菜单栏点击 idea 导入hadoop包 idea运行hadoop_jar_18 -> idea 导入hadoop包 idea运行hadoop_IDEA_19

idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_20

点击左上方的加号,选择 Application。

idea 导入hadoop包 idea运行hadoop_jar_21

名字随便起,我们就命名为“TriangleCount”,Main class 点击右侧···可以选择,我们选择 Triangle。

至于参数 Program argument,因为我们在代码中写了三个 Job,所以我们需要四个参数。参数名可以随便定,第一个参数是输入文件的文件夹,最后一个参数是输出文件的文件夹,我们就命名为

input
tmp1
tmp2
output

参数就填入以下四个,注意用空格分隔。

input/ tmp1/ tmp2/ output/

idea 导入hadoop包 idea运行hadoop_idea 导入hadoop包_22

最后我们需要在 src 的同级目录建立 input 文件夹,并把输入文件放在里面。

右击“CloudCalculate”,选择 idea 导入hadoop包 idea运行hadoop_Hadoop_23 -> idea 导入hadoop包 idea运行hadoop_TriangleCount_24,命名为“input”。

idea 导入hadoop包 idea运行hadoop_jar_25


idea 导入hadoop包 idea运行hadoop_TriangleCount_26

运行程序

至此,该配置的参数已经全部配置完毕,直接点击运行即可。

idea 导入hadoop包 idea运行hadoop_jar_27

我们运行的是 HighSchool 数据集,此数据集的运行结果为 34220

idea 导入hadoop包 idea运行hadoop_TriangleCount_28


由于Hadoop的设定,下次运行之前时要删除 tmp1、tmp2、 output 文件夹。 因为这个项目是建立在D盘,所以每次运行之后,会在D盘生成一个 tmp 文件夹,下次运行前也请删除。

参考博客

Intellij idea开发Hadoop MapReduce程序