1. 程式人生 > >Scala 開發Spark 基本模板

Scala 開發Spark 基本模板

 

一、JDK安裝(略)

二、Scala安裝配置

2.1進入scala官網下載對應版本的scala 安裝包。

2.2 新建目錄

mkdir -p /usr/local/scala

2.2解壓

tar -zxvf scala-2.10.4.tar.gz -C /usr/local/scala

2.3配置環境變數

vi /etc/profile

#scala path
export SCALA_HOME=/usr/local/scala/scala-2.10.4
export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile

2.4 在命令列輸入  scala 回車

三、新建maven專案

3.1 File > New > Project, 

3.2 填寫maven基本資訊

3.3 選擇自己安裝的maven,自己配置的本地倉庫和settings.xml檔案

四、新增Scala的支援

4.1 在新建的專案右鍵 選擇 AddFramework Support... > Scala

五、修改pom.xml檔案,增加Spark依賴支援

5.1增加阿里雲映象

<repositories>
        <repository>
            <id>aliyun</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>
        <repository>
            <id>cloudera</id>
            <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
        <repository>
            <id>jboss</id>
            <url>http://repository.jboss.com/nexus/content/groups/public</url>
        </repository>
    </repositories>

5.2 增加spark 依賴

<!--Spark Core-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>${spark.version}</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>${hadoop.version}</version>
            <scope>compile</scope>
        </dependency>

5.3 新建 一個scala檔案  ModuleSpark

/**
  * Created by dengwenqi on 2018/8/8
  * Spark Application  程式設計模板
  */
object ModuleSpark {

 /**
   * 如果Spark Application 執行在本地的話,Driver
   * @param args
   */
 def main(args: Array[String]): Unit = {
  /**
    * 從前面spark-shell命令列可知
    * Spark 資料分析的程式入口SparkContext,用於讀取資料
    */
  //讀取Spark Application 的配置資訊
  val sparkConf = new SparkConf()
          //設定SparkApplication名稱
          .setAppName("ModuleSpark Application")
          //設定程式執行的環境,通常情況下,在IDE中開發的時候,設定為local mode,至少是兩個Thread
          //在實際部署的時候通過提交應用的命令去進行設定
          .setMaster("local[2]")
  val sc = SparkContext.getOrCreate(sparkConf)

  /**==================================
    */
  /**
    * step1: read data
    * SparkContext 用於讀取資料
    */

  /**
    * step2:process data
    * RDD#transformation
    */

  /**
    * step3:write data
    * 將處理的結果資料儲存
    * RDD#action
    */


  /**
    * ========================
    */
  //在開發測試的時候,為了在每個Application頁面監控檢視應用中的Job的執行
  Thread.sleep(50000)
  //關閉資源
  sc.stop()





 }