《Presto實(shí)戰(zhàn)》筆記摘錄4

作者 | 士心先生
來源 | 程序員的讀書故事 (公眾號(hào):pg_reading)


presto_4.jpg
  1. Presto協(xié)調(diào)器負(fù)責(zé)接收用戶SQL查詢、解析查詢語句、規(guī)劃查詢執(zhí)行并管理工作節(jié)點(diǎn)。協(xié)調(diào)器是Presto集群的大腦,所有客戶端應(yīng)用程序都會(huì)連接它。用戶可以通過Presto CLI 、使用JDBC或ODBC驅(qū)動(dòng)的應(yīng)用程序以及其他語言下可用的客戶端庫來與協(xié)調(diào)器交互。
  2. 一個(gè)集群中至少包含一個(gè)協(xié)調(diào)器,可能包含一個(gè)或多個(gè)工作節(jié)點(diǎn)。協(xié)調(diào)器會(huì)跟蹤每個(gè)工作節(jié)點(diǎn)的動(dòng)態(tài),并協(xié)調(diào)查詢?nèi)蝿?wù)的執(zhí)行。對(duì)于一條查詢,協(xié)調(diào)器將創(chuàng)建一個(gè)包含多個(gè)Stage(階段)的邏輯模型。
  3. 一旦接收到一條SQL語句,協(xié)調(diào)器就負(fù)責(zé)解析、分析、優(yōu)化和調(diào)度查詢?nèi)蝿?wù)在Presto工作節(jié)點(diǎn)上的執(zhí)行。查詢語句被翻譯成一系列相連的任務(wù)task,這些任務(wù)被分發(fā)到各個(gè)工作節(jié)點(diǎn)上執(zhí)行。
  4. 在工作節(jié)點(diǎn)處理數(shù)據(jù)的同時(shí),協(xié)調(diào)器會(huì)將結(jié)果抽取出來放到輸出緩沖器中,并將緩沖區(qū)的內(nèi)容暴露給客戶端。
  5. 一旦客戶端讀完輸出緩沖器的內(nèi)容,協(xié)調(diào)器就會(huì)代表客戶端向工作節(jié)點(diǎn)請(qǐng)求更多的數(shù)據(jù)。另外,工作節(jié)點(diǎn)也在不斷地與數(shù)據(jù)源交互并從中讀取數(shù)據(jù)。最終,客戶端不斷地請(qǐng)求數(shù)據(jù),工作節(jié)點(diǎn)則不斷地從數(shù)據(jù)源讀取數(shù)據(jù)并提供給客戶端,直到查詢執(zhí)行結(jié)束。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容