1. 程式人生 > >使用IDEA構建Spark開發環境(支援maven)

使用IDEA構建Spark開發環境(支援maven)

1、開啟Idea,新建maven工程




\

新建maven專案成功後之後,就會看到如下工程結構:


2、修改pom.xml檔案

增加如下內容:

 <repositories>
         <repository>
            <id>Akka repository</id>
            <url>http://repo.akka.io/releases</url>
        </repository>
        <repository>
            <id>cloudera</id>
            <url>https://repository.cloudera.com/artifactory/cloudera-repos/.</url>
        </repository>
        <repository>
            <id>jboss</id>
            <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
        </repository>
        <repository>
            <id>Sonatype snapshots</id>
            <url>http://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
    </repositories>

    <build>
        <sourceDirectory>src/</sourceDirectory>
        <testSourceDirectory>src/</testSourceDirectory>

        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaVersion>2.10.3</scalaVersion>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <transformers>

                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>reference.conf</resource>
                                </transformer>

                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                               </transformer>

                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!--spark-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.5.0-cdh5.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-tools_2.10</artifactId>
            <version>1.1.0-cdh5.2.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-assembly_2.10</artifactId>
            <version>1.2.0-cdh5.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-repl_2.10</artifactId>
            <version>1.2.0-cdh5.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-catalyst_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-network-common_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>

        <!--spark on yarn-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-yarn_2.10</artifactId>
            <version>1.2.0-cdh5.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-network-yarn_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>

        <!--spark-sql-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive-thriftserver_2.10</artifactId>
            <version>1.2.0-cdh5.3.3</version>
        </dependency>

        <!--spark-streaming-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-flume_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-flume-sink_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka_2.10</artifactId>
            <version>1.2.0-cdh5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka-assembly_2.10</artifactId>
            <version>1.3.0-cdh5.4.0</version>
        </dependency>
		<dependency>
            <groupId>org.tachyonproject</groupId>
            <artifactId>tachyon</artifactId>
            <version>0.5.0</version>
        </dependency>
    </dependencies>

3、構建maven依賴包,Reimport和Generate Sources and Update folders


依賴包下載完成之後,就可以看到如下介面:


4、新增scala外掛,並新增Scala mode,並新增maven依賴包






5、測試環境是否搭建成功

寫spark的程式碼,能正確連到原始碼,且介面不報錯,說明spark環境搭建成功


相關推薦

使用IDEA構建Spark開發環境支援maven

1、開啟Idea,新建maven工程 \ 新建maven專案成功後之後,就會看到如下工程結構: 2、修改pom.xml檔案 增加如下內容: <repositories> <repository>

idea構建spark開發環境

1.準備環境 win7 jdk8 scala-2.11.8 spark 2.0.2 apache-maven-3.3.9 軟體安裝好設定好環境變數 maven需要設定國內的伺服器,不然是半天都

Android:使用eclipse luna搭建Android開發環境支援java8

一、下載相關軟體   android開發環境      準備工作:下載Eclipse、JDK、Android SDK、ADT外掛   上面要下載的4個軟體中,除了JDK之外,Eclipse、Android SDK、ADT外掛這三個都需要FQ才能夠正常下

Spark -- 使用Intellij Idea搭建Spark開發環境

Intellij Idea下載地址: 官方下載 選擇右下角的Community Edition版本下載安裝即可 本文中使用的是windows系統 環境為: jdk1.6.0_45 scala2.10.5 在網上下載jdk和scala的安裝包雙擊執行

Spark2.x學習筆記:6、在Windows平臺下搭建Spark開發環境Intellij IDEA

Spark2.x學習筆記 6、 在Windows平臺下搭建Spark開發環境(Intellij IDEA+Maven) 6.1 整合開發環境IDE 為了方便應用程式開發與測試,提高開發效率,一般使用整合開發工具IDE。同樣,為了方便Spark應用程式編

Intellij Idea搭建Spark開發環境

submit split des 出現 license tor lan jar word 在Spark高速入門指南 – Spark安裝與基礎使用中介紹了Spark的安裝與配置。在那裏還介紹了使用spark-submit提交應用。只是不能使用vim來開發Spark應用

使用Intellij Idea搭建Spark開發環境

Intellij Idea下載地址:  本文選擇右下角的Community Ultimate版本進行下載安裝  本文使用的是MacOS 環境為: JDK1.8.0_144 Scala2.10.4 在網上下載jdk和scala的安裝包雙擊執行安裝即可 注意:如果之後要將

idea配置spark開發環境時產生的錯誤總結

錯誤一 null>bin>winutils.exe not found 這種情況下只是需要winutils.exe檔案即可,不需要下載所有hadoop winutils.exe下載連結 然後放在hadoop/bin資料夾下,環境變數加上HAD

構建Java開發環境JDK

變量名 發的 sun公司 下載列表 環境變量 下界 ava 列表 oot 在我們學習Java前我們需要構建相對應的開發環境。JDK(Java Development Kit)是Java開發的必備條件。 Java 的JDK是Sun公司的產品,但由於Sun公司被

ESP32搭建3.ubuntu14.04下搭建esp32開發環境 最新版

終端 pat 權限 技術 實例 為我 tro component 直接 硬件為樂鑫出品的ESP32一款集成了wifi和藍牙的集成模塊。 1.首先ctrl+alt+t打開終端,sudo -s選擇用root權限登陸 。 2. 輸入指令:sudo apt-get install

Eclipse和PyDev搭建完美Python開發環境Windows篇

安裝Python 從網站上下載最新的版本,從http://python.org/download/下載。安裝過程與其他Windows軟體類似。這裡使用python2.7.6 在Windows命令列中使用Python 如果你想要從Windows命令列呼叫Python,那麼需要

EOS系列四:Ubuntu上搭建EOS開發環境原始碼編譯

步驟: 1、git下載原始碼 $ git clone https://github.com/EOSIO/eos --recursive 2、 編譯原始碼: 下載完成之後會在home目錄建立eos

在Ubuntu上搭建Android開發環境Android Studio

五一放假,閒著沒事,裝了最新的ubutun16.04,然後打算順道把android開發環境移植到ubuntu上來體驗一下。 1.首先下載了Android studio 2.1  之前使用的提供改host 翻牆 的網站今天掛了。。。只能在國內網站下了。。。 http://w

在Ubuntu下部署Vue開發環境詳細流程

在Ubuntu下部署Vue環境(非常詳細流程) 我們的需求是使用vue進行前後端分離開發,本節目標是為了能夠使用npm run dev將我們的前端專案執行起來 我們需要的是nodejs、npm、cnpm、webpack、vue 我的Ubuntu版本: elementoryOS 5 (基於Ubuntu

使用Intellij Idea編寫Spark應用程式Scala+SBT

對Scala程式碼進行打包編譯時,可以採用Maven,也可以採用SBT,相對而言,業界更多使用SBT。之前有篇部落格我們介紹了使用Intellij Idea編寫Spark應用程式(Scala+Maven),採用的是Maven工具。今天這篇部落格同樣是使用Intellij

python多行註釋 && Eclipse和PyDev搭建完美Python開發環境Ubuntu篇

python本身不帶多行註釋,編輯時每行敲一個“#”相當的不方便,其實可以有變通的方法 1. 把要註釋的塊用if 0:包起來,需要注意縮排 2. 把要註釋的塊用'''    '''包起來,也需要注意縮排。不過一般情況下'''是用來做function doc的,所以

【Julia】Linux下配置Julia互動開發環境Julia notebook

0x00 前言 近期Julia這門語言突然被拉入了大眾視野,我也是被一句 “Walk as Python,Run as C” 深深的吸引住了, 如果它沒有在吹牛,那麼這門語言說不定確實是我所想要的,那麼,學學看吧? 本篇文章主要用於介紹如何搭建便於學習與測

使用Visual Studio一勞永逸式配置OpenGL開發環境GLFW3+GLAD

引子 OpenGL版本眾多,需要引入額外的第三方庫才能很好的滿足我們平時渲染的需求,對於剛開始學習的同學們比較麻煩。 我也多次遇到很多落後的配置教程,浪費了時間不說,也會自己技術和現代OpenGL的技術脫節。 在當前的時間點(2018年),學習OpenGL

React Native 之搭建開發環境MacOS使用者

必需軟體 Homebrew Homebrew, Mac系統的包管理器,用於安裝NodeJS和一些其他必需的工具軟體。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/

ubuntu下配置python開發環境Eclipese+Pydev

大家都知道,ubuntu中自帶了python,不用安裝,直接就可以在編寫執行python。個人覺得這是ubuntu最大的優點之一,windows什麼都要再裝,而且還那麼大。。。 當然,工欲善其事,必先利其器。現在很少有人寫程式不用IDE了,寫python固然也有一些獨立的ID