回覆列表
  • 1 # struggles123

    答案是肯定的,我這兩天剛好在做這個研究。

    從storm 1.1.0開始,加入了storm sql功能,目前仍是experimental(實驗性) 功能。但經本人的實踐,目前已經能夠滿足大部分需求。

    storm sq概述

    Storm SQL 使使用者Storm 可以使用標準的sql語句實現複雜的拓撲功能,把kafka等輸入輸出資料來源全部抽象為table,透過where條件作為bolt中的判斷條件,大大減少了使用者的學習使用成本,等到退出穩定版,必定成為流式處理的熱門應用

    storm sql舉例

    //建立 TABLE ORDERS對應於kafka的輸入spout

    CREATE EXTERNAL TABLE ORDERS (ID INT PRIMARY KEY, UNIT_PRICE INT, QUANTITY INT)

    LOCATION "kafka://localhost:2181/brokers?topic=orders"

    //建立 TABLE LARGE_ORDERS 對應於kafka的輸出bolt

    CREATE EXTERNAL TABLE LARGE_ORDERS (ID INT PRIMARY KEY, TOTAL INT)

    LOCATION "kafka://localhost:2181/brokers?topic=large_orders"

    TBLPROPERTIES "{"producer":{"bootstrap.servers":"localhost:9092","acks":"1","key.serializer":"org.apache.org.apache.storm.kafka.IntSerializer","value.serializer":"org.apache.org.apache.storm.kafka.ByteBufferSerializer"}}"

    //使用 INSERT INTO ..SELECT... 語句,實現有條件的將輸入轉到輸出

    INSERT INTO LARGE_ORDERS SELECT ID, UNIT_PRICE * QUANTITY AS TOTAL FROM ORDERS WHERE UNIT_PRICE * QUANTITY > 50

    storm sq底層

    在底層, StromSQL 把 SQL 編譯為 Trident 拓撲,在把Trident 流轉換為傳統的spout、bolt來執行

    storm sql當前缺陷

    不支援聚合和連線

    不支援視窗函式

    上述就是對storm sql的一些簡單介紹,由於篇幅有限,講解的不太細緻。

    學習使人充實!!!最後祝大家都可以在大資料的海洋裡隨心遨遊!

  • 中秋節和大豐收的關聯?
  • 初學storm,應該怎麼一步步從入門到深入?