大資料開發實戰:Stream SQL即時開發

來源:互聯網
上載者:User

標籤:提交   抽象   大資料開發   bubuko   核心   概念   流式   通過   聲明   

  1、StreamComputeSQL原理和架構

    StreamComputeSQL通常是一個類SQL的聲明式語言,主要用於對流式資料(Streams)的持久性查詢,目的是在常見StreamCompute平台和架構(如Storm、Spark Streaming、Flink、Beam等)的底層API上,

  通過使用簡易通用的的SQL語言構建SQL抽象層,降低即時開發的門檻。

    StreamComputeSQL的原理其實很簡單,就是在SQL和底層的StreamCompute引擎之間架起一座橋樑---StreamComputeSQL被使用者提交,被SQL引擎層翻譯為底層的API並在底層的StreamCompute引擎上執行。比如對Storm

  來說,會自動翻譯成Storm的任務拓撲並在Storm叢集上運行。

    StreamComputeSQL引擎是StreamComputeSQL的核心,主要負責對使用者SQL輸入進行文法分析、語義分析、邏輯計劃產生、邏輯計劃執行、物理執行計畫產生等操作。而真正執行計算的是底層的StreamCompute平台。

    不同於離線任務,即時的資料是不斷流入的,所以為了使用SQL來對流處理進行抽象,StreamComputeSQL也引入了“表”的概念,不過這裡的表是動態表。

    StreamComputeSQL的架構如下:

    

    SQL層:StreamComputeSQL給使用者的介面,它提供過濾、轉換、關聯、彙總、視窗、select、union、split等各種功能。

    SQL引擎層:負責SQL解析/校正、邏輯計劃產生最佳化和物理計劃執行等。

    StreamCompute引擎層:具體執行SQL引擎層產生的執行計畫。

 

大資料開發實戰:Stream SQL即時開發

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.