使用定义的模式以avro格式从spark写入kafka?

zhte4eai  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(411)

我需要给Kafka写一个Dataframe。
我定义了avro模式,类似于:

{
    "namespace": "my.name.space",
    "type": "record",
    "name": "MyClass",
    "fields": [
       {"name": "id", "type": "string"},
       {"name": "parameter1", "type": "string"},
       {"name": "parameter2", "type": "string"},
       ...
     ]
}

它自动生成javabean。类似于:

public class MyClass extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  String id;
  String parameter1;
  String parameter2;
  ...
}

我发现,要用avro格式编写,只有一个采用列的方法。
所以我的问题是,有没有办法在这个定义的模式中强制以avro格式写入Kafka?

imzjd6km

imzjd6km1#

只能在使用confluent时执行此操作。看到了吗https://aseigneurin.github.io/2018/08/02/kafka-tutorial-4-avro-and-schema-registry.html

相关问题