一、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()
}