1. 程式人生 > 實用技巧 >spark概述與程式設計模型

spark概述與程式設計模型


spark快的原因
1.記憶體計算

2.DAG


spark shell已經初始化好了SparkContext,直接用sc呼叫即可



wKioL1YUkdDDHekLAASNB2OLfro689.jpg


lineage 血統

RDD wide and narrow dependencies

窄依賴每個 RDD partition最多被一個子RDD partirion依賴


wKioL1YU2lvCJnjLAALsYB9wKGc627.jpg


/sbin(system binary)放的都是涉及系統管理的命令。
有些系統裡面,普通使用者沒有執行這些命令的許可權。
有些系統裡面,普通使用者的PATH不包括/sbin



data.cache 資料放到記憶體中

spark-submit提交任務

wKioL1YU_XyAZC3LAANTwEDh6uw323.jpg


scala程式碼

packagecn.chinahadoop.spark

importorg.apache.spark.{SparkContext,SparkConf}
importscala.collection.mutable.ListBuffer
importorg.apache.spark.SparkContext._

/**
*Createdbychenchaoon14-3-1.
*/
classAnalysis{

}

objectAnalysis{

defmain(args:Array[String]){

if(args.length!=2){
println("Usage:java-jarcode.jarfile_locationsave_location")
System.exit(0)
}



valconf=newSparkConf()
conf.setSparkHome("/data/software/crazyjvm/spark")


valsc=newSparkContext(conf)
valdata=sc.textFile(args(0))

data.cache

println(data.count)

data.filter(_.split('').length==3).map(_.split('')(1)).map((_,1)).reduceByKey(_+_)
.map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).saveAsTextFile(args(1))
}

}


轉載於:https://blog.51cto.com/tianxingzhe/1700727