因此,我有一个卡夫卡主题,其中包含了不同图式的avro记录。我想使用flink中的Kafka主题,并创建avro泛型记录的数据。
现在,我想使用从datastream提取的模式在hudi中编写数据。但是由于hudi管道/编写器在一开始就使用预定义的avro模式进行配置,所以我不能这样做。
可能的解决方案是基于一个键创建一个密钥流,他们识别一种模式类型,然后从其中提取模式,然后基于它创建一个动态hudi管道。
我不确定最后那部分是否可能。
A->B->C
其中A是具有不同模式的泛型avro记录。B是基于不同模式的分区流。C在数据流B中使用该模式创建配置,并将其传递给hudi管道编写器函数。
发布于 2022-10-22 16:24:26
我想我昨天刚刚回答了同样的问题(除了Parquet),但我现在找不到它了:)无论如何,如果您事先知道不同的模式(假设是这样的,那么您如何对传入的Kafka记录进行反序列化?)然后,您可以使用具有多个侧输出的ProcessFunction,其中按模式拆分流,然后将每个特定于模式的流连接到自己的Hudi接收器。
https://stackoverflow.com/questions/74144125
复制相似问题