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效能優化:優化資料結構Spark優化資料結構
- Spark(十三) Spark效能調優之RDD持久化Spark持久化
- Spark 3.x Spark Core詳解 & 效能優化Spark優化
- 小程式效能優化的幾點實踐技巧優化
- Spark效能優化:對RDD持久化或CheckPoint操作Spark優化持久化
- Spark效能優化:提高並行度、使用reduceByKeySpark優化並行
- 前端效能優化的點前端優化
- 幾個 JavaScript 效能優化小 TipJavaScript優化
- CSS效能優化的幾個技巧CSS優化
- Spark效能優化:診斷記憶體的消耗Spark優化記憶體
- 編寫Spark程式的幾個最佳化點Spark
- Spark 效能調優--資源調優Spark
- OpenGL 優化項之面剔除和注意點優化
- hive、spark優化HiveSpark優化
- Spark SQL 效能優化再進一步 CBO 基於代價的優化SparkSQL優化
- Spark學習——效能調優(一)Spark
- Spark學習——效能調優(二)Spark
- Spark學習——效能調優(三)Spark
- 前端效能常見優化點分析前端優化
- Spark效能最佳化篇三:資料傾斜調優Spark
- 徹底瞭解渲染引擎以及幾點關於效能優化的建議優化
- 【前端效能優化】vue效能優化前端優化Vue
- 構建高效能的介面模組需要注意的幾點
- Spark 效能調優--開發階段Spark
- spark效能調優指南高階篇Spark
- 快取Apache Spark RDD - 效能調優快取ApacheSpark
- Spark效能調優——9項基本原則Spark
- [效能優化]UITableView效能優化的一點感悟及計算UILabel高度的新方法優化UIView
- 對於iOS效能優化的一點看法iOS優化
- 效能優化優化
- Collectors.toMap的幾個注意點
- MYSQL 8.0 Upgrade &Downgrade的幾點注意MySql
- 前端效能優化(JS/CSS優化,SEO優化)前端優化JSCSS
- Android效能優化——效能優化的難題總結Android優化
- Android 效能優化 ---- 啟動優化Android優化