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 頁麵上提交你的任務。

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