Flink的流鏈接器(Streaming Connectors)

預約義的Sources 和 Sinks

一些基本的數據sources 和 sinks 做爲Flink的一部分,老是可用。預約義的數據源包括從文件中讀取、從目錄中讀取、從套接字中讀取以及從集合和迭代中獲取,預約義的數據sink支持寫到文件中,做爲標準輸出或者標準錯誤輸出以及寫到套接字中。html

捆綁的鏈接器(Boundled Connectors)

這些鏈接器提供與第三方系統接口的代碼,目前這些鏈接器包括:
Apache Kafka(Source/Sink)
Apache Cassandra(Source/Sink)
Amazon Kinesis Streams(Source/Sink)
Elasticsearch(Sink)
Hadoop FileSystem(Sink)
RabbitMQ(Source/Sink)
Apache NiFi(Source/Sink)
Twitter Streaming API(Source)web

請記住,要在應用程序中使用這些鏈接器之一,一般須要額外的第三方組件,例如數據存儲服務或者消息隊列。還須要注意本節中所列出的流鏈接器是Flink項目的一部分,包括在發佈的源碼包中,可是並不包括在二進制發佈包中,進一步的說明在相應的章節中。redis

Apache Bahir中的鏈接器

另外的Flink 流鏈接器經過Apache Bahir來發布,包括:
Apache ActiveMQ(source/sink)
Apache Flume(sink)
Redis(sink)
Akka(sink)
Netty(Source)數據庫

經過Async I/O來豐富數據

使用鏈接器並非數據輸入輸出Flink的惟一方式,爲了豐富原始的數據流,一種通用的方式是經過Map或者FlatMap來查詢一個外部數據庫或者web 服務。Flink爲Asynchronous I/O提供了一個API 來使得豐富數據更佳的高效和健壯。apache

可查詢的狀態

當一個Flink 應用推送大量的數據到一個外部存儲系統時,可能會致使一個I/O瓶頸,若是涉及的數據寫大於讀的話,一個更好的方法是🈶️外部系統根據本身的須要來Flink中拉取。Queryable State 接口容許由Flink管理的狀態也被外部系統訪問來實現這一方法。elasticsearch

相關文章
相關標籤/搜索