StreamingPro支持Flink的流式計算了

前言

有的時候我們只要按條處理,追求實時性而非吞吐量的時候,類似Storm的模式就比較好了。Spark 在流式處理一直缺乏改進,而Flink在流式方面做得很棒,兩者高層的API也是互相借鑒,容易形成統(tǒng)一的感官,所以決定讓StreamingPro適配Flink,讓其作為StreamingPro底層的流式引擎。

StreamingPro自身設(shè)計之初就是為了支持多引擎的,所以改造成本很低,昨天花了一下午,晚上加了會班就重構(gòu)完了。這次增強可以讓我司的流式引擎有了新的選擇。

準備工作

下載安裝包

為了跑起來,你需要下載一個flink的包,我用的是1.2.0版本的。

接著就是下載StreamingPro的 flink版本:

https://pan.baidu.com/s/1slCpxxV

啟動flink

進入flink安裝目錄運行如下命令:

./bin/start-local.sh

之后寫一個flink.json文件:

{
  "example": {
    "desc": "測試",
    "strategy": "flink",
    "algorithm": [],
    "ref": [],
    "compositor": [
      {
        "name": "flink.sources",
        "params": [
          {
            "format": "socket",
            "port": "9000",
            "outputTable": "test"
          }
        ]
      },
      {
        "name": "flink.sql",
        "params": [
          {
            "sql": "select * from test",
            "outputTableName": "finalOutputTable"
          }
        ]
      },
      {
        "name": "flink.outputs",
        "params": [
          {
            "name":"jack",
            "format": "console",
            "inputTableName": "finalOutputTable"
          }
        ]
      }
    ],
    "configParams": {
    }
  }
}

目前source 只支持 kafka/socket ,Sink則只支持console和csv。準備好這個文件你就可以提交任務(wù)了:

./bin/flink run  -c streaming.core.StreamingApp \ /Users/allwefantasy/streamingpro/streamingpro.flink-0.4.14-SNAPSHOT-online-1.2.0.jar 
-streaming.name god \
-streaming.platform flink_streaming \
-streaming.job.file.path file:///Users/allwefantasy/streamingpro/flink.json

然后皆可以了。

你也可以到localhost:8081 頁面上提交你的任務(wù)。

WX20170321-104738@2x.png

后面的話

Flink目前在流式計算上對SQL支持有限,暫時還不支持Join,Agg等行為操作,這個和Spark相比較而言差距還比較大。不過我們很快會將Script暴露出來,可以讓大家直接進行編程,主要利用其Table API。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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