首页 > 解决方案 > 使用定义的模式以 avro 格式从 Spark 写入 Kafka?

问题描述

我有一个需要写入 Kafka 的数据框。

我定义了 avro 模式,类似于:

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

它是自动生成到java bean的。这与此类似:

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

我发现要以 avro 格式编写,只有to_avro方法需要一列。

所以我的问题是,有没有办法在这个定义的模式中强制以 Avro 格式写入 Kafka?

标签: apache-sparkapache-kafkaavrospark-avro

解决方案



推荐阅读