轉(zhuǎn)載請(qǐng)務(wù)必將下面這段話置于文章開頭處。
本文轉(zhuǎn)發(fā)自技術(shù)世界
<https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fwww.jasongj.com%2F>
,原文鏈接
<https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fwww.jasongj.com%2Fspark%2Fcbo>
http://www.jasongj.com/spark/cbo/
<https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fwww.jasongj.com%2Fspark%2Fcbo%2F>
Spark CBO 背景
上文Spark SQL 內(nèi)部原理
<https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fwww.jasongj.com%2Fspark%2Frbo%2F>
中介紹的 Optimizer 屬于 RBO,實(shí)現(xiàn)簡單有效。它屬于 LogicalPlan 的優(yōu)化,所有優(yōu)化均基于 LogicalPlan
本身的特點(diǎn),未考慮數(shù)據(jù)本身的特點(diǎn),也未考慮算子本身的代價(jià)。
本文將介紹
CBO,它充分考慮了數(shù)據(jù)本身的特點(diǎn)(如大小、分布)以及操作算子的特點(diǎn)(中間結(jié)果集的分布及大?。┘按鷥r(jià),從而更好的選擇執(zhí)行代價(jià)最小的物理執(zhí)行計(jì)劃,即
SparkPlan。
Spark CBO 原理
CBO 原理是計(jì)算所有可能的物理計(jì)劃的代價(jià),并挑選出代價(jià)最小的物理執(zhí)行計(jì)劃。其核心在于評(píng)估一個(gè)給定的物理執(zhí)行計(jì)劃的代價(jià)。
物理執(zhí)行計(jì)劃是一個(gè)樹狀結(jié)構(gòu),其
熱門工具 換一換