我是 Apache Beam 的新手,在这个问题上挣扎了一段时间。我在 Apache Beam Java 中使用 KafkaIO 作为我的管道源。我想获取 Kafka 记录摄取时间戳以及每条记录,并将其作为附加列写入我的输出。记录在 Kafka 中被摄取的时间戳,而不是事件时间。
如果不使用 withoutMetadata() 函数,我无法弄清楚如何使用 kafkaIOReader 。据我了解,Kafka 记录摄取时间戳应该是每条记录的元数据的一部分?
我是 Apache Beam 的新手,在这个问题上挣扎了一段时间。我在 Apache Beam Java 中使用 KafkaIO 作为我的管道源。我想获取 Kafka 记录摄取时间戳以及每条记录,并将其作为附加列写入我的输出。记录在 Kafka 中被摄取的时间戳,而不是事件时间。
如果不使用 withoutMetadata() 函数,我无法弄清楚如何使用 kafkaIOReader 。据我了解,Kafka 记录摄取时间戳应该是每条记录的元数据的一部分?
如果您指定了时间戳策略,则无论您是否正在读取元数据,您都应该能够访问 DoFn 中结果元素的时间戳。然后,您可以随心所欲地执行此操作(例如,将其粘贴到 POJO 的字段中)。