閱讀825 返回首頁    go 阿裏雲 go 技術社區[雲棲]


StreamingPro支持Flink的流式計算了

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

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


準備工作


下載安裝包

為了跑起來,你需要下載一個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。準備好這個文件你就可以提交任務了:
./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 頁麵上提交你的任務。
4a67d284192869b784f4602f0f4ad01540dfbdb2


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

最後更新:2017-04-01 17:13:51

  上一篇:go 用更少的錢看更清晰的視頻——詳談阿裏雲窄帶高清
  下一篇:go 如何在命令行中指定StreamingPro的寫入路徑