spark效能優化幾點注意
一.優化方向,序列化
1.官網位置
2.解釋:
預設用的是java序列化,但是會很慢,第二種很快,但是不一定能實現所有序列化
第二種,有些自定義類你需要在程式碼中註冊(Kryo)
3.StorageLevel.MEMORY_ONLY) 方式儲存程式碼
def main(args: Array[String]) {
val sparkConf = new SparkConf()
val sc = new SparkContext(sparkConf)
val names = Array[String]("G304","G305","G306")
val genders = Array[String]("male","female")
val addresses = Array[String]("beijing","shenzhen","wenzhou","hangzhou")
val infos = new ArrayBuffer[Info]()
for (i<-1 to 1000000){
val name = names(Random.nextInt(3))
val gender = genders(Random.nextInt(2))
val address = addresses((Random.nextInt(4)))
infos += Info(name, gender, address)
}
val rdd = sc.parallelize(infos)
rdd.persist(StorageLevel.MEMORY_ONLY_SER)
rdd.count()
// rdd.persist(StorageLevel.MEMORY_ONLY)
sc.stop()
}
case class Info(name:String, gender:String, address:String)
}
4.結果34.3 java序列化預設
二.Kyro序列化
1.配置檔案位置及配置(spark.serialize)在spark-default.conf
2.程式碼
def main(args: Array[String]) {
val sparkConf = new SparkConf()
sparkConf.registerKryoClasses(Array(classOf[Info]))
val sc = new SparkContext(sparkConf)
val names = Array[String]("G304","G305","G306")
val genders = Array[String]("male","female")
val addresses = Array[String]("beijing","shenzhen","wenzhou","hangzhou")
val infos = new ArrayBuffer[Info]()
for (i<-1 to 1000000){
val name = names(Random.nextInt(3))
val gender = genders(Random.nextInt(2))
val address = addresses((Random.nextInt(4)))
infos += Info(name, gender, address)
}
val rdd = sc.parallelize(infos)
rdd.persist(StorageLevel.MEMORY_ONLY_SER)
rdd.count()
// rdd.persist(StorageLevel.MEMORY_ONLY_SER)
sc.stop()
3.沒註冊情況下截圖
4.官網沒註冊結果
5.加上一句話,否則所有的東西都要加入變大
sparkConf.registerKryoClasses(Array(classOf[Info]))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69941978/viewspace-2651785/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spark效能優化Spark優化
- spark效能優化(一)Spark優化
- UITableView效能優化的幾點建議UIView優化
- Spark Streaming 效能優化Spark優化
- Spark效能優化:優化資料結構Spark優化資料結構
- Spark(十三) Spark效能調優之RDD持久化Spark持久化
- 小程式效能優化的幾點實踐技巧優化
- 優化 Webpack 構建效能的幾點建議優化Web
- 優化Webpack構建效能的幾點建議優化Web
- Spark 3.x Spark Core詳解 & 效能優化Spark優化
- Spark效能優化指南:高階篇Spark優化
- Spark效能優化指南:基礎篇Spark優化
- Spark效能優化--資料本地性Spark優化
- Spark效能調優Spark
- Spark效能優化:對RDD持久化或CheckPoint操作Spark優化持久化
- 【SQL優化】SQL優化的10點注意事項SQL優化
- 前端效能優化的點前端優化
- 幾個 JavaScript 效能優化小 TipJavaScript優化
- CSS效能優化的幾個技巧CSS優化
- Spark的效能調優Spark
- 編寫Spark程式的幾個最佳化點Spark
- Spark效能優化:提高並行度、使用reduceByKeySpark優化並行
- Spark效能優化:診斷記憶體的消耗Spark優化記憶體
- iOS 實際開發中對效能優化的幾點建議iOS優化
- OpenGL 優化項之面剔除和注意點優化
- 【效能優化】增量檢查點優化
- 【SQL Server 優化效能的幾個方面】SQLServer優化
- Spark 效能調優--資源調優Spark
- Spark 效能調優--Shuffle調優 SortShuffleManagerSpark
- hive、spark優化HiveSpark優化
- Spark SQL 效能優化再進一步 CBO 基於代價的優化SparkSQL優化
- 與效能優化有關的幾個程式優化
- 前端效能常見優化點分析前端優化
- 快速Python效能優化要點Python優化
- Oracle效能調優實踐中的幾點心得Oracle
- 構建高效能的介面模組需要注意的幾點
- Android效能優化之被忽視的優化點Android優化
- Spark學習——效能調優(一)Spark