结构流式处理:前 n 行



最近,我在使用实时数据进行工程设计期间遇到了结构流中的"前n行"问题。我需要获取 50 个最新的事件时间记录作为输出,但结构流给了我一个完整的无限表或几个更新的结果。我在网上搜索了很多,有以下几种方法:

(1(使用TTL,但我认为它是基于摄取时间的,这不是我想要的事件时间;

(2( 使用 Flink 捕捉最新的事件时间记录。在此期间使用flink和结构流是一件混乱的事情。如下,我尝试使用flink 1.6,静态是表格吗?我不知道如何处理,因为没有输出。

val source: KafkaTableSource = Kafka010JsonTableSource.builder()
.forTopic("BINANCE_BTCUSDT_RESULT")
.withKafkaProperties(properties)
.withSchema(TableSchema.builder()
.field("timestamp", Types.SQL_TIMESTAMP)
.field("future_max", Types.DOUBLE)
.field("future_min", Types.DOUBLE)
.field("close",Types.DOUBLE)
.field("quantities",Types.DOUBLE).build())
.fromEarliest()
.build()
tableEnv.registerTableSource("statics", source)
val statics = tableEnv.scan("statics")
statics.?

有人可以告诉我更多关于前n行问题的解决方法吗?如果问题解决了,如何将数据帧发布到 url 中?

我建议你使用 Flink 1.5,因为 1.6 还不稳定(事实上,1.5 刚刚发布(。

在 Flink 中使用事件时间时,Flink 需要知道你的时间戳,并且需要水印,指示事件时间的流动。要使用 Kafka010JsonTableSource 执行此操作,您应该配置一个 rowtime 属性。

请注意,fetch(( 仅在批处理模式下使用 Flink SQL 时可用。

相关内容

  • 没有找到相关文章