自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spark SQL架構(gòu)分析

企業(yè)動(dòng)態(tài) Spark
Spark SQL的查詢優(yōu)化是Catalyst,其基于Scala語言開發(fā),可以靈活利用Scala原生的語言特性方便地?cái)U(kuò)展功能,奠定了Spark SQL的發(fā)展空間。

Spark SQL與傳統(tǒng)DBMS的查詢優(yōu)化器+執(zhí)行器的架構(gòu)較為類似,只不過其執(zhí)行器是在分布式環(huán)境中實(shí)現(xiàn),并采用Spark作為執(zhí)行引擎。

Spark SQL的查詢優(yōu)化是Catalyst,其基于Scala語言開發(fā),可以靈活利用Scala原生的語言特性方便地?cái)U(kuò)展功能,奠定了Spark SQL的發(fā)展空間。

  1. Catalyst將SQL翻譯成最終的執(zhí)行計(jì)劃,并在這個(gè)過程中進(jìn)行查詢優(yōu)化。
  2. 這里和傳統(tǒng)不太一樣的地方就在于,SQL經(jīng)過查詢優(yōu)化器最終轉(zhuǎn)換為可執(zhí)行的查詢計(jì)劃,傳統(tǒng)DB就可以執(zhí)行這個(gè)查詢計(jì)劃了,但spark不同。
  3. Spark SQL***執(zhí)行還是會(huì)在Spark內(nèi)將執(zhí)行計(jì)劃轉(zhuǎn)換為Spark的有向無環(huán)圖DAG再執(zhí)行。

架構(gòu)分析

Catalyst的整體架構(gòu)

Catalyst的整體架構(gòu)

從圖8-2中可以看到整個(gè)Catalyst是Spark SQL的調(diào)度核心,遵循傳統(tǒng)數(shù)據(jù)庫的查詢解析步驟,對(duì)SQL進(jìn)行解析,轉(zhuǎn)換為邏輯查詢計(jì)劃和物理查詢計(jì)劃,最終轉(zhuǎn)換為Spark的DAG執(zhí)行

Catalyst的執(zhí)行流程

 

 

  1. SqlParser將SQL語句轉(zhuǎn)換為邏輯查詢計(jì)劃
  2. Analyzer對(duì)邏輯查詢計(jì)劃進(jìn)行屬性和關(guān)系關(guān)聯(lián)檢驗(yàn)
  3. 之后Optimizer通過邏輯查詢優(yōu)化將邏輯查詢計(jì)劃轉(zhuǎn)換為優(yōu)化的邏輯查詢計(jì)劃
  4. QueryPlanner將優(yōu)化的邏輯查詢計(jì)劃轉(zhuǎn)換為物理查詢計(jì)劃
  5. prepareForExecution調(diào)整數(shù)據(jù)分布
  6. ***將物理查詢計(jì)劃轉(zhuǎn)換為執(zhí)行計(jì)劃進(jìn)入Spark執(zhí)行任務(wù)。

【本文為51CTO專欄作者“王森豐”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)注明出處】

責(zé)任編輯:趙寧寧 來源: 神算子
相關(guān)推薦

2016-12-14 19:04:16

Spark SQL優(yōu)化

2021-06-06 19:03:25

SQL大數(shù)據(jù)Spark

2016-09-04 14:00:31

Spark

2015-09-23 09:24:56

spark數(shù)據(jù)分析

2020-05-27 11:20:37

HadoopSpark大數(shù)據(jù)

2016-12-20 09:47:38

Apache SparLambda架構(gòu)

2012-06-21 09:50:53

ERP架構(gòu)

2012-02-13 14:41:50

Titanium架構(gòu)分析

2019-06-19 16:01:14

Spark數(shù)據(jù)分析SparkSQL

2009-09-08 13:16:01

Linq to SQL

2012-08-30 14:33:03

Spark

2009-09-09 18:03:47

LINQ to SQL

2009-09-15 10:46:04

LINQ to SQL

2019-07-17 13:25:03

SparkHadoop架構(gòu)

2016-07-01 14:37:01

SparkSQL

2016-11-15 14:07:28

Apache SparLambdaHadoop

2021-11-11 10:48:35

架構(gòu)運(yùn)維技術(shù)

2016-06-17 12:31:10

Spark SQL數(shù)據(jù)處理Spark

2016-03-01 11:11:38

ParquetSpark SQL列式存儲(chǔ)

2016-11-29 09:27:22

Apache SparDashboard構(gòu)建
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)