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

相关文章
相关标签/搜索