1. 程式人生 > >Hadoop Intellij IDEA本地開發環境搭建

Hadoop Intellij IDEA本地開發環境搭建

首先我們需要新建一個java工程用於開發Mapper與Reducer,同時我們也需要匯入hadoop的依賴包,這些包可以在hadoop的 share/hadoop 目錄下找到,你可以把這些包單獨取出來作為之後專案的備用。

開啟Project Structure

這裡寫圖片描述

找到module點選右側的小加號JARS or directories…
新增

common
hdfs
mapreduce
yarn
comom/lib

新增完成之後應該像下圖

這裡寫圖片描述

然後是Artifacts

這裡寫圖片描述

點選加號,新建一個jar,jar->empty

這裡寫圖片描述

給自己的jar包取個名字,然後點選下面的綠色加號,Module output,在彈出的對話方塊中選擇當前的專案,然後點選ok儲存。

這裡寫圖片描述

接著要新建一個Application

這裡寫圖片描述

Edit Configurations

這裡寫圖片描述

點選加號新建,選擇Application

這裡寫圖片描述

這裡寫圖片描述

然後取個名字,在右側的Main class中輸入org.apache.hadoop.util.RunJar

Working directory當然是選擇當前專案的目錄了

這裡寫圖片描述

最後是Program arguments,這個是設定預設引數的會在程式執行的時候傳遞進去

/home/edmond/workspace/IdeaProjects/Hadoop/HadoopWordCount/out/artifacts/wordcount/wordcount.jar
com
.company.Main input output

第一個是jar包所在的位置
第二個是Main函式所在的類
第三四兩個引數是由自己決定的(這兩個引數會作為args[0]和args[1]傳入)

點選ok儲存。

然後我們需要開始對Mapper以及Reducer進行編寫,首先先建立一個Mapper類

public class WordCountMapper extends Mapper<LongWritable,Text,Text,IntWritable>{

    private final static IntWritable one = new IntWritable(1
); private Text word = new Text(); @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()){ word.set(itr.nextToken()); context.write(word,one); } } }

如果類都可以正常匯入說明jar包沒有問題

接著是Reducer類

public class WordCountReducer extends Reducer<Text,IntWritable,Text,IntWritable>{

    private IntWritable result = new IntWritable();

    @Override
    protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
        int sum = 0;
        for(IntWritable val:values){
            sum += val.get();
        }

        result.set(sum);
        context.write(key,result);
    }
}

最後我們需要編寫main方法作為測試

public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
    // write your code here

        Configuration configuration = new Configuration();

        if(args.length!=2){
            System.err.println("Usage:wordcount <input><output>");
            System.exit(2);
        }

        Job job = new Job(configuration,"word count");

        job.setJarByClass(Main.class);
        job.setMapperClass(WordCountMapper.class);
        job.setReducerClass(WordCountReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class);
        FileInputFormat.addInputPath(job,new Path(args[0]));
        FileOutputFormat.setOutputPath(job,new Path(args[1]));

        System.exit(job.waitForCompletion(true)?0:1);
    }

這樣main方法啟動就會使用hadoop的mapper和reducer來處理資料

我們在專案目錄下面建立一個input資料夾,在資料夾中建立一個檔案,然後在檔案中隨意輸入一些字串,儲存,然後執行剛剛新建的Application,等待執行完成會發現專案目錄下多了一個output資料夾,開啟裡面的‘part-r-00000’檔案就會發現裡面是對你輸入字串的出現個數的統計。

這裡寫圖片描述

當你第二次執行的時候因為hadoop不會自動刪除output目錄所以可能會出現錯誤,請手動刪除之後再執行。
這樣就可以使用intellij來開發hadoop程式並進行除錯了。

相關推薦

Hadoop Intellij IDEA本地開發環境搭建

首先我們需要新建一個java工程用於開發Mapper與Reducer,同時我們也需要匯入hadoop的依賴包,這些包可以在hadoop的 share/hadoop 目錄下找到,你可以把這些包單獨取出來作為之後專案的備用。 開啟Project Structure

Mac OS + IntelliJ Idea +Git 開發環境搭建實戰

1.Mac OS 10.11.6 [OS X EL Captain] Mac OS是一套運行於蘋果Macintosh系列電腦上的作業系統。Mac OS是首個在商用領域成功的圖形使用者介面作業系統。Mac系統是基於Unix核心的圖形化作業系統;一

hadoop本地開發環境搭建

1:下載hadoop2.7.3並解壓 2:配置hadoop2.7.3環境變數 HADOOP_HOME %HADOOP_HOME%\bin 3:下載hadoop-eclipse-plugin外掛 網址:https://github.com/winghc/hadoop2x-eclipse-plugin

跟我一起學Spark之——Windows10下spark2.3.0本地開發環境搭建-親測

相關元件版本: JDK1.8.0_171,hadoop-2.7.6,Spark-2.3.0,Scala-2.11.8,Maven-3.5.3,ideaIC-2018.1.4.exe,spark-2.3.0-bin-hadoop2.7 1.1  JDK1.8.0_171 a.&n

Spark本地開發環境搭建與遠端debug設定

快速看完《Spark大資料處理 技術、應用與效能優化》前四章後,對Spark有了一個初步的瞭解,終於踏出了第一步,現在需要在Spark叢集中做些測試例子,熟悉一下開發環境和開發的流程。本文主要總結了如何在本地使用Maven搭建開發環境以及如何進行遠端debug。由於採用的Spark是

Spark2.2,IDEA,Maven開發環境搭建附測試

前言:   停滯了一段時間,現在要沉下心來學習點東西,出點貨了。   本文沒有JavaJDK ScalaSDK和 IDEA的安裝過程,網路上會有很多文章介紹這個內容,因此這裡就不再贅述。 一、在IDEA上安裝Scala外掛 首先開啟IDEA,進入最初的視窗,選擇C

Spark Idea Maven 開發環境搭建

一、安裝jdk jdk版本最好是1.7以上,設定好環境變數,安裝過程,略。 二、安裝Maven 我選擇的Maven版本是3.3.3,安裝過程,略。 編輯Maven安裝目錄conf/settings.xml檔案, ? 1 2 <!-- 修改Maven 庫存放目錄--> <loc

Spark SQL 本地開發環境搭建和案例分析

1_Spark APIs 的演變      Spark SQL,作為Apache Spark大資料框架的一部分,主要用於結構化資料處理和對Spark資料執行類SQL的查詢。通過Spark SQL,可以實現多種大針資料業務,比如對PG/TG級別的資料分析、分析預測並推薦、

FIBOS入坑指南——本地開發環境搭建

FIBOS是什麼? FIBOS 是一個結合 FIBJS 以及 EOS 的 JavaScript 的執行平臺,它使得 EOS 提供可程式設計性,並允許使用 JavaScript 編寫智慧合約。FIBOS 平臺的出現讓第三代 EOS 智慧合約程式設計變得簡單、快捷!其

Hadoop-2.8.0 開發環境搭建(Mac)

Hadoop是一個由Apache基金會開發的分散式系統架構,簡稱HDFS,具有高容錯性、可伸縮性等特點,並且可以部署在低配置的硬體上;同時,提供了高吞吐量的資料訪問效能,適用於超大資料集的應用程式,以及通過叢集拓撲高效快速的處理資料的能力。 本文主要介紹一下Hadoop的開

mpvue本地開發環境搭建

將解壓檔案中server資料夾複製到專案跟目錄,並修改配置項在開發者工具中操作,第一次上傳勾選模組上傳,之後就勾選智慧上傳每次修改後需點選上傳部署,不方便一般搭建本地開發環境本地安裝mysql指南 https://cloud.tencent.com/document/prod

大資料(hadoop-HDFS的本地開發環境的配置與常見的HDFS的JAVA API)

HDFS的本地開發環境搭建 1:所需工具 1)hadoop2.7.3安裝包 2)hadoop-eclipse-plugin

使用Intellij Idea+Gradle 搭建Java 本地開發環境

專案搭建採用技術棧為:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6搭建環境文件目錄結構說明:使用Intellj Idea 搭建專案過程詳解專案各配置檔案講解及部署各層包功能講解&專案搭建完畢最終效果演示圖

Hadoop實踐(二)---叢集和開發環境搭建Intellij IDEA & Maven 開發Hadoop

1. 開發環境準備 1. Hadoop叢集安裝 2. Maven安裝 3. Intellij IDEA安裝 2. 建立專案 1. 建立Maven專案 2. 輸入GroupId 和 ArtifactId 新建專案後有提示

IntelliJ IDEA安裝及jsp開發環境搭建

一、前言   現在.net國內市場不怎麼好,公司整個.net組技術轉型,就個人來說還是更喜歡.net,畢竟不是什麼公司都像微軟一樣財大氣粗開發出VS這樣的宇宙級IDE供開發者使用,雙擊sln即可開啟專案,一直想吐槽為嘛java專案只能import。昨天一路踩坑,花了一整

Spark本地開發環境配置(windows/Intellij IDEA 篇)

前言 Intellij IDEA是一個蠻不錯的IDE,在java/scala領域深得人心。筆者之前使用的是Eclipse那一套開發環境,雖然也不錯,但忍不住好奇心的驅使,折騰了一下IDEA,將自己摸索過程總結一下,方便Spark愛好者參考。 1.配置前提 J

Intellij IDEA 14.1.4 Scala開發環境搭建

主要內容 Intellij IDEA開發環境簡介 Intellij IDEA Scala開發環境搭建 Intellij IDEA常見問題及解決方案 Intellij IDEA常用快捷鍵 1. Intellij IDEA開發環境簡介 Intell

Spark Scala IntelliJ IDEA開發環境搭建(入門)

一、下載安裝IntelliJ IDEA 二、安裝Scala外掛 三、建立Maven工程 填寫完GroupId,ArtifactId後填寫工程名稱,一直下一步,直到工程建立完成。 建立完成後目錄結構如下圖 在main目錄下面建立sca

“mac os + intellij idea 13 + nodejs開發環境搭建教程(附詳細圖解)

最近剛搭建這套環境,現將其記錄如下: 此時,預設已經裝好node.js和IntelliJ IDEA。 1、開啟IntelliJ IDEA ,點選Configure,再點選Plugins,會出現如圖視窗。 選擇Browse repositories...,。 2此時會彈出

IntelliJ IDEA 14.1上JFinal開發環境搭建手冊

轉載: http://my.oschina.net/chixn/blog/471755 實測成功 JFinal官方的教程都是使用Eclipse進行開發的,而使用Intellij IDEA來做開發,不少地方和Eclipse區別還是很大的。 本文參考了網上不少文章,主要沿用了