国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spark 的group by ,join數(shù)據(jù)傾斜調(diào)優(yōu)

這篇具有很好參考價(jià)值的文章主要介紹了spark 的group by ,join數(shù)據(jù)傾斜調(diào)優(yōu)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景

spark任務(wù)中最常見(jiàn)的耗時(shí)原因就是數(shù)據(jù)分布不均勻,從而導(dǎo)致有些task運(yùn)行時(shí)間很長(zhǎng),長(zhǎng)尾效應(yīng)導(dǎo)致的整個(gè)job運(yùn)行耗時(shí)很長(zhǎng)

數(shù)據(jù)傾斜調(diào)優(yōu)

首先我們要定位數(shù)據(jù)傾斜,我們可以通過(guò)在spark ui界面中查看某個(gè)stage下的task的耗時(shí),如果發(fā)現(xiàn)某些task耗時(shí)很長(zhǎng),對(duì)應(yīng)要處理的數(shù)據(jù)很多,證明有數(shù)據(jù)傾斜的問(wèn)題,那么我們?cè)趺刺幚頂?shù)據(jù)傾斜呢,
1.增加shuffle操作的并行度,也就是設(shè)置spark.sql.shuffle.partitions的值,這個(gè)參數(shù)可以提高shuffle read task的并行度,也就是處理當(dāng)某個(gè)stage下面task數(shù)量很少的問(wèn)題,通過(guò)提供并行度,提高性能–備注:這里順帶說(shuō)下shuffle write task,shuffle write task是shuffle read task的前一個(gè)階段的任務(wù),一般來(lái)說(shuō)其是否均勻是由shuffle read task任務(wù)的數(shù)量決定的
2.對(duì)于兩個(gè)大表的join時(shí),如果某個(gè)大表數(shù)據(jù)不均勻,那么可以對(duì)這個(gè)大表的數(shù)值都增加一個(gè)0-n的隨機(jī)數(shù),另外一個(gè)大表膨脹n倍,每個(gè)數(shù)值M都膨脹為M-0,M-1…M-n,然后在對(duì)兩個(gè)表進(jìn)行join操作,這種情況下雖然其中的一個(gè)大表數(shù)據(jù)膨脹了n倍,但是這點(diǎn)性能消耗是值得的,因?yàn)檫@樣操作后join的操作就會(huì)非常快了
3.對(duì)于group by聚合,可以采用兩階段聚合的方式,先進(jìn)行局部聚合再進(jìn)行全局聚合的方式進(jìn)行,局部聚合方式是先對(duì)表的數(shù)值都增加一個(gè)隨機(jī)數(shù)0-n,然后group by聚合,得到一個(gè)聚合的中間結(jié)果,然后再次對(duì)這個(gè)中間結(jié)果去掉隨機(jī)數(shù)前綴后進(jìn)行g(shù)roup by聚合,得到一個(gè)全局的聚合結(jié)果
4.對(duì)于大表和小表的join時(shí),我們可以對(duì)小表進(jìn)行broadcast操作,把小表進(jìn)行廣播,這樣driver和executor的內(nèi)存中都會(huì)有一份小表的rdd數(shù)據(jù),這樣executor進(jìn)行join操作時(shí)使用來(lái)自小表的基于內(nèi)存的操作就會(huì)非??歙C備注:driver內(nèi)存中也有一份小表的數(shù)據(jù)是因?yàn)閐river要把這份小表的數(shù)據(jù)收集到自己的本地內(nèi)存中,然后再分發(fā)到各個(gè)executor的內(nèi)存中,所以broadcast廣播的情況下,記得要同時(shí)增加driver和executor的內(nèi)存

參考文獻(xiàn):https://zhuanlan.zhihu.com/p/22024169文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-832564.html

到了這里,關(guān)于spark 的group by ,join數(shù)據(jù)傾斜調(diào)優(yōu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 分布式數(shù)據(jù)庫(kù) Join 查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)淺析

    相對(duì)于單例數(shù)據(jù)庫(kù)的查詢操作,分布式數(shù)據(jù)查詢會(huì)有很多技術(shù)難題。 本文記錄 Mysql 分庫(kù)分表 和 Elasticsearch Join 查詢的實(shí)現(xiàn)思路,了解分布式場(chǎng)景數(shù)據(jù)處理的設(shè)計(jì)方案。 文章從常用的關(guān)系型數(shù)據(jù)庫(kù) MySQL 的分庫(kù)分表Join 分析,再到非關(guān)系型 ElasticSearch 來(lái)分析 Join 實(shí)現(xiàn)策略。逐步

    2024年02月08日
    瀏覽(19)
  • 6、hive的select(GROUP BY、ORDER BY、CLUSTER BY、SORT BY、LIMIT、union、CTE)、join使用詳解及示例

    6、hive的select(GROUP BY、ORDER BY、CLUSTER BY、SORT BY、LIMIT、union、CTE)、join使用詳解及示例

    1、apache-hive-3.1.2簡(jiǎn)介及部署(三種部署方式-內(nèi)嵌模式、本地模式和遠(yuǎn)程模式)及驗(yàn)證詳解 2、hive相關(guān)概念詳解–架構(gòu)、讀寫(xiě)文件機(jī)制、數(shù)據(jù)存儲(chǔ) 3、hive的使用示例詳解-建表、數(shù)據(jù)類型詳解、內(nèi)部外部表、分區(qū)表、分桶表 4、hive的使用示例詳解-事務(wù)表、視圖、物化視圖、DDL

    2024年02月11日
    瀏覽(26)
  • Spark彈性分布式數(shù)據(jù)集

    Spark彈性分布式數(shù)據(jù)集

    1. Spark RDD是什么 RDD(Resilient Distributed Dataset,彈性分布式數(shù)據(jù)集)是一個(gè)不可變的分布式對(duì)象集合,是Spark中最基本的數(shù)據(jù)抽象。在代碼中RDD是一個(gè)抽象類,代表一個(gè)彈性的、不可變、可分區(qū)、里面的元素可并行計(jì)算的集合。 每個(gè)RDD都被分為多個(gè)分區(qū),這些分區(qū)運(yùn)行在集群中

    2024年02月13日
    瀏覽(95)
  • 大數(shù)據(jù)學(xué)習(xí)06-Spark分布式集群部署

    大數(shù)據(jù)學(xué)習(xí)06-Spark分布式集群部署

    配置好IP vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改主機(jī)名 vi /etc/hostname 做好IP映射 vim /etc/hosts 關(guān)閉防火墻 systemctl status firewalld systemctl stop firewalld systemctl disable firewalld 配置SSH免密登錄 ssh-keygen -t rsa 下載Scala安裝包 配置環(huán)境變量 添加如下配置 使環(huán)境生效 驗(yàn)證 Spark官網(wǎng) 解壓 上

    2024年02月10日
    瀏覽(98)
  • 大數(shù)據(jù)開(kāi)發(fā)之Spark(RDD彈性分布式數(shù)據(jù)集)

    大數(shù)據(jù)開(kāi)發(fā)之Spark(RDD彈性分布式數(shù)據(jù)集)

    rdd(resilient distributed dataset)叫做彈性分布式數(shù)據(jù)集,是spark中最基本的數(shù)據(jù)抽象。 代碼中是一個(gè)抽象類,它代表一個(gè)彈性的、不可變、可分區(qū)、里面的元素可并行計(jì)算的集合。 1.1.1 rdd類比工廠生產(chǎn) 1.1.2 wordcount工作流程 1、一組分區(qū)(partition),即是數(shù)據(jù)集的基本組成單位,

    2024年01月24日
    瀏覽(87)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    人生很長(zhǎng),不必慌張。你未長(zhǎng)大,我要擔(dān)當(dāng)。 傳統(tǒng)的MapReduce雖然具有自動(dòng)容錯(cuò)、平衡負(fù)載和可拓展性的優(yōu)點(diǎn),但是其最大缺點(diǎn)是采用非循環(huán)式的數(shù)據(jù)流模型,使得在迭代計(jì)算式要進(jìn)行大量的磁盤(pán)IO操作。Spark中的RDD可以很好的解決這一缺點(diǎn)。 RDD是Spark提供的最重要的抽象概念

    2024年02月22日
    瀏覽(372)
  • 大數(shù)據(jù)課程K2——Spark的RDD彈性分布式數(shù)據(jù)集

    大數(shù)據(jù)課程K2——Spark的RDD彈性分布式數(shù)據(jù)集

    文章作者郵箱:yugongshiye@sina.cn? ? ? ? ? ? ? 地址:廣東惠州 ? 了解Spark的RDD結(jié)構(gòu); ??掌握Spark的RDD操作方法; ??掌握Spark的RDD常用變換方法、常用執(zhí)行方法; 初學(xué)Spark時(shí),把RDD看做是一個(gè)集合類型(類似于Array或List),用于存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù),但RDD和普通集合的區(qū)別

    2024年02月12日
    瀏覽(97)
  • 大數(shù)據(jù)開(kāi)源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    大數(shù)據(jù)開(kāi)源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    前言:七八九用于Spark的編程實(shí)驗(yàn) 大數(shù)據(jù)開(kāi)源框架之基于Spark的氣象數(shù)據(jù)處理與分析_木子一個(gè)Lee的博客-CSDN博客_spark輿情分析 目錄 實(shí)驗(yàn)環(huán)境: 實(shí)驗(yàn)步驟: 一、解壓 二、配置環(huán)境變量:? 三、修改配置文件? 1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分發(fā)配置文件:

    2024年02月11日
    瀏覽(94)
  • 【postgresql 基礎(chǔ)入門】分組查詢 group by 子句的寫(xiě)法,分組條件過(guò)濾having子句的寫(xiě)法,多列的分組以及與join聯(lián)合的多表分組

    ? 專欄內(nèi)容 : postgresql內(nèi)核源碼分析 手寫(xiě)數(shù)據(jù)庫(kù)toadb 并發(fā)編程 個(gè)人主頁(yè) :我的主頁(yè) 管理社區(qū) :開(kāi)源數(shù)據(jù)庫(kù) 座右銘:天行健,君子以自強(qiáng)不息;地勢(shì)坤,君子以厚德載物. 本文主要分享在postgresql 數(shù)據(jù)庫(kù)中對(duì)查詢結(jié)果進(jìn)行分組group by,以及對(duì)分組進(jìn)行條件過(guò)濾having,同時(shí)對(duì)它

    2024年04月11日
    瀏覽(51)
  • 云計(jì)算與大數(shù)據(jù)第16章 分布式內(nèi)存計(jì)算平臺(tái)Spark習(xí)題

    1、Spark是Hadoop生態(tài)(? B? )組件的替代方案。 A. Hadoop? ???B. MapReduce ???????C. Yarn ????????????D.HDFS 2、以下(? D? )不是Spark的主要組件。 A. Driver?? ???B. SparkContext ??????C. ClusterManager D. ResourceManager 3、Spark中的Executor是(? A? )。 A.執(zhí)行器????? B.主節(jié)

    2024年02月14日
    瀏覽(449)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包