IDE下的MapReduce开发

IDE下的MapReduce开发

在学校上Hadoop的课,Group Project要写一些MapReduce,学校给了cluster,但是在cluster上直接开vim写JAVA着实不怎么习惯。于是折腾了一下踩了些坑,在这里记录一下。

Git部署代码

首先想到的最方便的方式其实是用git。我平时写Python之类的脚本的时候就是用Git管理,然后Server上clone一个repo,就同步了。
但是发现这样的话我要单独写一个Makefile,管理编译等问题。
于是想到用IDE远程调试MapReduce.

Intellij IDEA 开发MapReduce

Eclipse是有MapReduce插件的,安装好以后很方便各种调试。可我平时写JAVA比较习惯Intellij, 于是就找了一下intellij下的方案。

Maven来开发MapReduce

安装maven

brew install maven

在IntelliJ里面,右键项目,'Add Frameword support...'

选择maven

pom.xml的内容:

?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>4480Group16</groupId>
    <artifactId>stochastic</artifactId>
    <version>0.1</version>


    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>${project.artifactId}</finalName>
    </build>


</project>

会问你是否import,选择auto import bulabula

Edit Configuration 里,选择application,将program argument填上你hdfs里的input和output path。

然后在main/java里面写code,打包jar部署。基本搞定

相关推荐