flink 1.9
flink内置的source和sink(Predefined Sources and Sinks)
在Flink中内置了一些常用的資料源source和sink算子。内置的資料源source(predefined data sources)包括從檔案files、目錄directories和套接字 sockets中讀取資料,以及從集合collections 和疊代器iterators中擷取資料。内置的資料接收器sink(predefined data sinks)支援寫檔案files、标準輸出stdout和stderr以及套接字sockets。
Bundled Connectors捆綁連接配接器、
flink目前支援的連接配接器:
- Apache Kafka (source/sink)
- Apache Cassandra (sink)
- Amazon Kinesis Streams (source/sink)
- Elasticsearch (sink)
- Hadoop FileSystem (sink)
- RabbitMQ (source/sink)
- Apache NiFi (source/sink)
- Twitter Streaming API (source)
- Google PubSub (source/sink)
注意:要在flink應用程式中使用上述連接配接器,通常需要引入第三方元件,例如資料存儲或消息隊列伺服器。還要注意,雖然本節中列出的流連接配接器streaming connectors 是Flink架構的一部分,并且包含在源代碼版本中,但是它們不包含在二進制代碼的發行版中。有關進一步的說明,可以在相應的章節中找到。
Apache Bahir中的連接配接器
Flink的其他流連接配接器正在通過 Apache Bahir釋出,包括:
- Apache ActiveMQ (source/sink)
- Apache Flume (sink)
- Redis (sink)
- Akka (sink)
- Netty (source)
連接配接到Flink的其他方法
通過異步I/O來豐富資料Data Enrichment via Async I/O
使用連接配接器connector 并不是Flink擷取外部資料的唯一方法。常見的一種方式是在 Map 或者FlatMap中來查詢外部資料庫或web服務,進而豐富主資料流。Flink為異步I/O(Asynchronous I/O ).提供了一個API,使高效、健壯地完成這種充實變得更加容易。
Queryable State
當Flink應用程式将大量資料推入外部資料存儲時,這可能成為I/O瓶頸。如果所涉及的資料的讀操作比寫操作少得多,那麼外部應用程式可以從Flink中提取它需要的資料,這是一種更好的方法。可查詢狀态Queryable State接口允許根據需要查詢Flink管理的狀态,進而實作這一點。
https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/connectors/