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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Spark — 不僅僅是基礎(chǔ):處理100GB數(shù)據(jù)所需的Spark內(nèi)存

当你核心少但任务多时,就会出现这种情况哦,手忙脚乱的 🤷

贪多不一定是好事!不相信吗?问问数据工程师,他一接到任务就揽下来,从不会拒绝。(哎呀,不好意思,是不是冒犯到你了🙈🤐?)

你也可以问问那个刚刚多了5个新任务的家伙,因为他搞不定你的Spark作业需要多少核心! 🙃

但是,说真的,假设你被交给一个任务,即搭建一个能“高效”处理100GB数据的Spark集群。

你准备怎么开始呢?

我来给你展示一下老板他是怎么做的。😏

第一步:需要多少执行核心?

我们先决定需要多少执行核心 🤔

  • 默认情况下,每个分区大小是128MB__— 重要牢记
  • 为了计算所需的内核数量,你需要计算最终将会有多少个分区
  • 100GB 可以转换为 100*1024 MB,也就是 102400MB
  • 分区数量是 102400 除以 128,结果是 800
  • 因此,总共需要 800 个执行器核心

步骤 2: 需要多少执行者?

既然我们知道了核心数量,接下来我们就得确定需要多少执行器。

  • 平均来说,一般建议在一个executor中拥有2到5个执行核心

  • 如果一个executor中的核心数量是4,那么总共的executor数量 = 800/4 = 200

  • 所以,我们需要200个executor来完成这个任务

显然地,这个数字会根据你在一个执行器里保留了多少执行核心而变化 😄

步骤 3:所需的总执行内存?

重要的一点!给每个执行器分配多少内存?🤔

执行器核心的总内存通常

默认分区内存的4倍 = 4×128 = 512 MB

所以,总执行内存 = 核心数 512 = 4 512 = 2GB

总结:处理100GB数据总共需要多少内存

我们来了!🥳让我们确认处理100GB数据所需的总内存吧

  • 每个执行器都有2GB的内存
  • 总共有200个这样的执行器

因此,要处理100GB的数据,需要至少400GB的总内存来实现完全并行处理。

也就是说,所有任务都会一起运行 😲

说,运行一个任务要花5分钟,处理100GB的数据量需要多久?——答案还是5分钟!! 因为所有任务都并行运行

另外一步:驱动程序内存应该设置为多少?
  • 这取决于您的用例。
  • 如果您调用 df.collect(),则需要 100GB 的驱动器内存,因为所有执行器的数据都会被发送到驱动器。
  • 如果您只是将输出导出到云或磁盘,则驱动器内存最好设置为执行器内存的两倍,也就是 4GB。

伙计,这就是高效处理100GB数据的方法 😉

需要注意的一点是,这是一个理想的方案,可以很容易地调整以适应项目的预算需求完全没问题

如果项目预算比较紧张,你可以将人员数量减半或减至原来的四分之三。不过这样做的话,处理的时间肯定会因此变长。

如果你喜欢,请点赞 👏,让更多数据工程师看到它。

谢谢你的阅读, 😁

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

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

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

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

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

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

立即參與 放棄機(jī)會(huì)
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消