我无法在线找到有关此信息的太多信息。我想知道是否可以构建一个flink应用程序,该应用程序可以动态消耗所有与正则图案相匹配的主题并将这些主题同步到S3。另外,每个主题都动态同步都会包含AVRO消息,Flink应用程序将使用Confluent的架构注册表。
很幸运的人!Flink 1.4几天前才发布,这是第一个使用 Regex 提供消费Kafka主题的版本。根据Java文档的说法,您可以使用它:
flinkkafkaconsumer011
public FlinkKafkaConsumer011(PatternsubscriptionPattern,DeserializationSchema<T> valueDeserializer,Properties props)
为Kafka 0.11.x创建一个新的Kafka流源消费者。使用 这个构造函数以基于常规的多个主题订阅 表达式模式。如果启用了分区发现(通过设置一个 非阴性价值 flinkkafkaconsumerbase.key_partition_discovery_interval_interval_millis 属性),名称与模式匹配的主题也将是 在即时创建时订阅它们。
参数:
sisscriptionPattern - 主题名称模式要订阅的正则表达式。 produreSerializer - 用于在Kafka的字节消息和Flink的对象之间转换的DE-/serialializer。
props - 用于配置Kafka消费者客户端的属性和Zookeeper客户端。
JUST 注意运行Flink Streaming应用程序,它以使用消费者配置指定的间隔从Zookeeper获取主题数据:
FlinkKafkaConsumerBase.KEY_PARTITION_DISCOVERY_INTERVAL_MILLIS
这意味着每个消费者都应在某些指定的间隔中重新同步元数据,包括主题。默认值为5分钟。因此,添加一个新主题,您应该期望消费者最多可以在5分钟内开始消费。您应该使用所需的时间间隔为Flink消费者设置此配置。
在Flink 1.4中添加了带有正则图案的Kafka主题。请参阅此处的文档。
S3是Flink支持的文件系统之一。为了使流到文件系统的可靠,确切地交付,请使用Flink-Connector-FileSystem Connector。
您可以配置Flink以使用AVRO,但是我不确定与Confluent的模式注册表Interop的状态是什么。
搜索这些主题和其他主题,建议您在Flink Doc页面上进行搜索。例如:https://ci.apache.org/projects/flink/flink/flink-docs-release-1.4/search-results.html?q=schema regredregright