Flink生態與將來

本文爲《Flink大數據項目實戰》學習筆記,想經過視頻系統學習Flink這個最火爆的大數據計算框架的同窗,推薦學習課程:算法

 

Flink大數據項目實戰:http://t.cn/EJtKhaz數據庫

 

核心組件棧

Flink發展愈來愈成熟,已經擁有了本身的豐富的核心組件棧,以下圖所示。框架

 從上圖能夠看出Flink的底層是Deploy,Flink能夠Local模式運行,啓動單個 JVM。Flink也能夠Standalone 集羣模式運行,同時也支持Flink ON YARN,Flink應用直接提交到YARN上面運行。另外Flink還能夠運行在GCE(谷歌雲服務)和EC2(亞馬遜雲服務)。機器學習

 Deploy的上層是Flink的核心(Core)部分Runtime。在Runtime之上提供了兩套核心的API,DataStream API(流處理)和DataSet API(批處理)。在覈心API之上又擴展了一些高階的庫和API,好比CEP流處理,Table API和SQL,Flink ML機器學習庫,Gelly圖計算。SQL既能夠跑在DataStream API,又能夠跑在DataSet API。分佈式

生態

從上圖能夠看出Flink擁有更大更豐富的生態圈:

 中間最底層Deploy模式包含 Local本地模式、Cluster(包含Standalone和YARN)集羣模式以及Cloud雲服務模式,而後它的上層是Flink runtime運行時,而後它的上層是Flink DataSet批處理和DataStream流處理,而後它的上層又擴展了Hadoop MR、Table、Gelly(圖計算)、ML(機器學習)、Zoppelin(可視化工具)等等。工具

 左邊爲輸入Connectors。流處理方式包含Kafka(消息隊列),AWS kinesis(實時數據流服務),RabbitMQ(消息隊列),NIFI(數據管道),Twitter(API)。批處理方式包含HDFS(分佈式文件系統),HBase(分佈式列式數據庫),Amazon S3(文件系統),MapR FS(文件系統),ALLuxio(基於內存分佈式文件系統)。oop

 右邊爲輸出Connectors。流處理方式包含Kafka(消息隊列),AWS kinesis(實時數據流服務),RabbitMQ(消息隊列),NIFI(數據管道),Cassandra(NOSQL數據庫),ElasticSearch(全文檢索),HDFS rolling file(滾動文件)。批處理包含HBase(分佈式列式數據庫),HDFS(分佈式文件系統)。學習

將來

Flink會進行批計算的突破、流處理和批處理無縫切換、界限愈來愈模糊、甚至混合。

Flink會開發更多語言支持

 Flink會逐步完善Machine Learning 算法庫,同時 Flink 也會向更成熟的機器學習、深度學習去集成(好比Tensorflow On Flink)。大數據

相關文章
相關標籤/搜索