生活随笔
收集整理的這篇文章主要介紹了
搭建scala 开发spark程序环境及实例演示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇博文已經介紹了搭建scala的開發環境,現在進入正題。如何開發我們的第一個spark程序。
下載spark安裝包,下載地址http://spark.apache.org/downloads.html(因為開發環境需要引用spark的jar包)
我下載的是spark-2.1.0-bin-hadoop2.6.tgz,因為我的scalaIDE版本是scala-SDK-4.5.0-vfinal-2.11-win32.win32.x86_64.zip
最好,IDE版本和spark版本要匹配,否則,開發程序的時候,可能會包引用的jar包錯誤等等。
new 一個 scala project,然后new 一個 scala object
代碼如下:
package?com.testimport?org.apache.spark.SparkContext
import?org.apache.spark.SparkConf/***?統計字符出現次數*/object?WordCount?{def?main(args:?Array[String])?{if?(args.length?<?1)?{System.err.println("Usage:?<file>")System.exit(1)}val?conf?=?new?SparkConf();//創建SparkConf對象conf.setAppName("Wow,My?First?Spark?Programe");//設置應用程序的名稱,在程序運行的監conf.setMaster("local")//此時,程序在本地運行,不需要安裝Spark集群val?sc?=?new?SparkContext(conf);//創建SparkContext對象,通過傳入SparkConf實例
//?????val?lines?=?sc.textFile(args(0));val?lines?=?sc.textFile(args(0));val?words?=?lines.flatMap{line?=>?line.split("?")};//對每一行的字符串進行單詞拆val?pairs?=?words.map{word?=>?(word,1)};val?wordCounts?=?pairs.reduceByKey(_+_);//對相同的Key,進行Value的累計(包括Local和Reducer級別同時Reduce)//????val?wordCounts?=?pairs.reduce((x,y)=>(x.));wordCounts.foreach(wordNumberPair?=>?println(wordNumberPair._1?+?"?:?"?+wordNumberPair));//?????line.flatMap(_.split("?")).map((_,?1)).reduceByKey(_+_).collect().foreach(println)sc.stop()}}
3.配置JDK1.8 和引入spark jar包
spark的jar包是 spark安裝包解壓之后jars目錄里面的jar包,可以把這個目錄下面的所有jar包都引入工程
4.run Configurations,配置運行入參,
因為 這個代碼是讀入一個文本,在hadoop文件系統,可以spark-submit的時候傳入這個參數,在windows 本地開發環境可以在eclipse里面配置這個參數,見下面的圖
val?lines?=?sc.textFile(args(0));
4.入參文本及運行結果
入參文本:
run scala Application運行結果
ok,開發環境搭建完畢。
轉載于:https://blog.51cto.com/wongsong/1898452
總結
以上是生活随笔為你收集整理的搭建scala 开发spark程序环境及实例演示的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。