spark-scala開發的第一個程序WordCount


package *****

import org.apache.spark.{SparkConf, SparkContext}

object WordCount {
  def main(args: Array[String]): Unit = {
    //設置分布式的運行平台,和appname
    //使用Master運行平台,yarn,standalong(spark自帶的運行平台),mesos,local四種
    //local開發調試時用的環境,前三種一般為上線的運行環境
    //local local[N] local[*]
    val conf = new SparkConf().setMaster("local[1]").setAppName("WordCount")
    //構建sparkContext對象
    val sc = new SparkContext(conf)
    //加載數據源,獲取RDD對象
    val textFile = sc.textFile("C:\\Users\\zuizui\\Desktop\\README.txt")
    val counts = textFile.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
    counts.saveAsTextFile("C:\\Users\\zuizui\\Desktop\\result.txt")
  }
}

例子為本地的路徑

 

 

spark計算過程:

spark程序運行在分布式計算平台之上,Driver會生成一個DAG調度,就是job中的有向無環圖,之后會向nodeManager申請資源,nodemanager會創建多個executor,driver中的DGA調度中的task會轉移到executor上進行計算,

executor上的task的計算結果會保存在executor的memcache(內存)中,接着進行寫一個task的計算,直到有一個task要寫到磁盤上;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM