Spark IDEA 编程环境配置
文章目錄
- 1. 下載資料準備
- 2. 建立項目、添加環境設置
- 3. 第一個 Spark 程序
學自:Spark機器學習實戰
https://book.douban.com/subject/35280412/
記錄一下踩過的坑:
環境:win 10 + java 1.8.0_281 + Scala 2.11.11 + Hadoop 2.7.7 + Spark2.4.7
1. 下載資料準備
配套代碼下載:https://www.epubit.com/bookDetails?id=UB72279bcfb49b8
下載 jar 包(注意版本2.11是scala的,2.4.7是spark的,根據你的版本改下面的下載鏈接就行)
https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-flume-assembly_2.11/2.4.7/spark-streaming-flume-assembly_2.11-2.4.7.jar
https://repo1.maven.org/maven2/org/apache/spark/spark-streaming-kafka-0-10-assembly_2.11/2.4.7/spark-streaming-kafka-0-10-assembly_2.11-2.4.7.jar
jfreechart-1.0.19 下載,lib文件夾內有2個jar文件
放到下面路徑,spark 安裝路徑下
2. 建立項目、添加環境設置
- 創建文件夾路徑,考入配套代碼文件
使用 idea 在 examples 文件夾下創建 maven 項目
設置 scala 文件夾為 Sources Root
設置 project structure
然后就可以 run 了,沒有報錯!
3. 第一個 Spark 程序
// package 打包 package spark.ml.cookbook.chapter1// 導入 SparkSession 上下文 import org.apache.spark.sql.SparkSession import org.apache.log4j.Logger import org.apache.log4j.Level // 減少輸出內容object MyFirstSpark20 {def main(args: Array[String]): Unit = {// 輸出日志級別為 error,減少輸出Logger.getLogger("org").setLevel(Level.ERROR)// 使用 Builder 模型,指定配置初始化 SparkSession,作為訪問Spark集群的入口val spark = SparkSession.builder.master("local[*]").appName("myFirstSpark20").config("spark.sql.warehouse.dir", ".").getOrCreate()// 以上為創建 SparkSession 的典型方法val x = Array(1.0,5.0,8.0,10.0,15.0,21.0,27.0,30.0,38.0,45.0,50.0,64.0)val y = Array(5.0,1.0,4.0,11.0,25.0,18.0,33.0,20.0,30.0,43.0,55.0,57.0)// 創建數組的 RDDval xRDD = spark.sparkContext.parallelize(x)val yRDD = spark.sparkContext.parallelize(y)// 創建新的 打包后的 rddval zipedRDD = xRDD.zip(yRDD)zipedRDD.collect().foreach(println)// (1.0,5.0)// (5.0,1.0)// ...val xSum = zipedRDD.map(_._1).sum()val ySum = zipedRDD.map(_._2).sum()val xySum = zipedRDD.map(c => c._1 * c._2).sum()val n = zipedRDD.count()println("RDD X Sum: " +xSum) //314.0println("RDD Y Sum: " +ySum) //302.0println("RDD X*Y Sum: "+xySum) // 11869.0println("Total count: "+n) // 12spark.stop() // 退出程序,釋放資源} }總結
以上是生活随笔為你收集整理的Spark IDEA 编程环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 385. 迷你语法分析
- 下一篇: LeetCode 1764. 通过连接另