日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark-三大数据结构之-广播变量

發(fā)布時間:2023/12/10 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark-三大数据结构之-广播变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是廣播變量

分布式只讀共享變量

首先廣播變量是一個調(diào)優(yōu)策略(可以減少數(shù)據(jù)的傳輸,也就是數(shù)據(jù)從driver傳輸?shù)絜xecutor)

(每一個executor都要傳list數(shù)據(jù),如果數(shù)據(jù)太多就很慢,采用廣播變量他是一個共享只讀變量,可以減少數(shù)據(jù)傳輸種量)

下面代碼演示的是,不使用能進行shuffle的算子,來減少網(wǎng)絡(luò)傳輸,用自定義邏輯實現(xiàn)

def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("Mysql").setMaster("local[*]")//創(chuàng)建上下文對象val sc = new SparkContext(conf)val rdd1 = sc.makeRDD(List((1,2),(1,2),(2,3)))val list = List((1,2),(2,3),(3,3))//可以使用廣播變量(減少數(shù)據(jù)的傳輸)(每一個executor都要傳list數(shù)據(jù),如果數(shù)據(jù)太多就很慢,采//用廣播變量他是一個共享只讀變量,可以減少數(shù)據(jù)傳輸種量)//構(gòu)建廣播變量val broadcast = sc.broadcast(list)val resultRDD = rdd1.map({case (key,value) =>{var v2:Any = null//使用廣播變量for(t <- broadcast.value){if (key == t._2){v2 = t._2}}(key,(value,v2))}})resultRDD.foreach(println)}

總結(jié)

以上是生活随笔為你收集整理的Spark-三大数据结构之-广播变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。