第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

spark broadcast join優(yōu)化

標(biāo)簽:
Spark

在大量数据中对一些字段进行关联。

举例

ipTable:需要进行关联的几千条ip数据(70k)
hist:历史数据(百亿级别)

直接join将会对所有数据进行shuffle,需要大量的io操作,相同的key会在同一个partition中进行处理,任务的并发度也收到了限制。

webp

shuffle join

使用broadcast将会把小表分发到每台执行节点上,因此,关联操作都在本地完成,基本就取消了shuffle的过程,运行效率大幅度提高。

webp

broadcast join

样本数据(2000w)性能测试对比

小表没有进行broadcast

webp

shuffle join

进行了broadcast,可以看到连shuffle过程都省略了

webp

broadcast join

实现代码(spark1.5)

//读取ip表val df = ...//如果数据小于设定的广播大小则将该表广播,默认10Mdf.cache.count//注册表df.registerTempTable("ipTable")//关联sqlContext.sql("select * from (select * from ipTable)a join (select * from hist)b on a.ip = b.ip")

......

设置表广播的阈值,如果有需求且内存足够,可以将该值提高,默认10M

spark.sql.autoBroadcastJoinThreshold



作者:breeze_lsw
链接:https://www.jianshu.com/p/2c7689294a73


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消