Apache flink 如何在Flink for Join中使用内存中的数据创建可刷新表?

Apache flink 如何在Flink for Join中使用内存中的数据创建可刷新表?,apache-flink,flink-streaming,flink-sql,Apache Flink,Flink Streaming,Flink Sql,我有一个依赖于表API的Flink应用程序。我确实有一个卡夫卡主题,我创建了一个表。然后,我们为IP地址列表和一些元数据信息维护一个S3对象 我们还想在这个S3对象上创建一个表。S3对象路径是静态的,不会更改,但是我可以重写S3对象,并且我想用新数据刷新这个表 基本上,我在内存中有一个从S3对象读取的集合。如何才能最有效地创建表并在Kafka表上进行连接?当S3对象中有更新时,应刷新该表。如果使用创建一个由S3对象支持的表,它可能会执行您正在查找的操作。但是,请注意,文件系统源尚未完全开发,您可

我有一个依赖于表API的Flink应用程序。我确实有一个卡夫卡主题,我创建了一个表。然后,我们为IP地址列表和一些元数据信息维护一个S3对象

我们还想在这个S3对象上创建一个表。S3对象路径是静态的,不会更改,但是我可以重写S3对象,并且我想用新数据刷新这个表


基本上,我在内存中有一个从S3对象读取的集合。如何才能最有效地创建表并在Kafka表上进行连接?当S3对象中有更新时,应刷新该表。

如果使用创建一个由S3对象支持的表,它可能会执行您正在查找的操作。但是,请注意,文件系统源尚未完全开发,您可能会遇到影响用例的限制


您可以改为使用
StreamExecutionEnvironment#readFile
(),并将其生成的
数据流
转换为表。请注意,如果您在使用
文件处理模式时使用
readFile
读取文件。连续处理
模式,然后修改文件,整个文件将被重新接收。

连接器不需要目录(前缀)而不是对象路径吗?我不确定;我知道文件系统SQL接收器就是这样工作的。我已经扩展了我的答案,加入了一个备选方案。谢谢,我想
过程_持续
会奏效的。如果我没有误解,它将监视文件并重新接收。我希望当新文件出现时,它将删除现有内容,并以原子方式执行此操作。不,它不会以原子方式执行。您认为我可以使用
时态表的概念吗。例如,类似于Hive Temporal Tabel()的内容。我的数据量相对较小,我只需要一个适当的抽象,以便刷新元数据并为连接提供SQL接口