Presto適合PB級海量數據複雜分析,互動式SQL查詢,?持跨數據源查詢。本文就將詳細解析Client提交查詢請求到PrestoServer端響應的細節,以及還原Presto資源組校驗的實現過程。
Presto調度模塊源碼解析-Client提交請求
當客戶端以控制台Console、腳本--execute等方式提交SQL作業時,Presto的Client會將作業相關的參數和腳本封裝成一個Restful請求,提交給PrestoServer端。然後再進行後續的諸如解析執行計劃、拆分Stage、調度task到Worker端執行等操作。下面就介紹一下Client提交作業到服務端部分的源碼。
Main函數
客戶端提交作業的代碼是從Presto的main函數開始的: