學習筆記:從0開始學習大資料-13. Eclipse+Scala+Maven Spark開發環境配置
上節配置好了spark執行環境,可以通過 spark-shell 在scala語言介面互動執行spark命令
可以參照( https://blog.csdn.net/u010285974/article/details/81840413 Spark-shell執行計算) 這篇文章操作練習
接下來在eclipse ide環境開發spark程式,環境配置費了一翻周折,在此記錄,備用
我已安裝好了Eclipse2018-09即Eclipse4.9版,而scala for eclipse下載最高提示支援eclipse4.7版,但其實也可以在eclipse4.9中安裝成功
1.下載scala for eclipse外掛,也可以直接複製網址讓eclipse安裝
2.Eclipse點選 選單:幫助-》安裝新軟體-》新建-》輸入以上網址
3.選全部-》下一步—》完成-》等待下載完畢-》重啟Eclipse
4.可以測試新建scala project
編輯一個helloworld程式,測試scala正常可用
5. 新建maven專案 mavenscala
修改專案的pom.xml 增加對spark的支援,另外重要的是修改預設的paranamer-2.3.jar 為版本2.8 刪除2.3版的構建路徑引用,不然執行spark程式總提示 “-java.lang.ArrayIndexOutOfBoundsException:
pom.xml 全文如下
<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>com.linbin</groupId> <artifactId>mavenscala</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>mavenscala</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>2.4.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.thoughtworks.paranamer/paranamer --> <dependency> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer</artifactId> <version>2.8</version> </dependency> </dependencies> </project>
6. 在專案中增加scala語言支援
專案名上右鍵-》配置-》"Add Scala Nature"
7.在專案新建一個“Scala Object” 名為 SparkPi 新建的SparkPi.scala檔案 內容參考
/spark/examples/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala 檔案
8. 點選執行-》Run As -》Scala Application
可以看到正常執行
接下來測試WordCount等其它examples 也可以正常執行
eclipse + Maven + scala + Spark 開發測試環境配置完畢