You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从现有模型自动生成Apache Pulsar AvroSchema类?

问题:基于现有SQLModel数据类自动生成Pulsar AvroSchema及Record实例

我当前运行着无Schema模式的Apache Pulsar,数据内容频繁变更。针对特定数据,已编写基于SQLModel的数据类(此点在当前场景中无关紧要),这些模型是数据基准,希望直接复用在Apache Pulsar中。

由于模型结构复杂,我倾向使用pulsar.schema.avro_schema.AvroSchema而非JsonSchema。我肯定不是第一个遇到这个需求的人,但网上搜索后没找到能实现以下功能的库:

  • 在运行时将现有模型(包含所有字段及子类)转换为pulsar.schema.record.Record
  • 将现有模型实例的值自动填充到生成的Pulsar Schema Record中

我希望避免这种繁琐且易出错的手动操作流程:
首先手动定义继承自Record的类:

class NewMetering_AVRO(Record):
    id = Integer()
    speed = Float()
    light = Float()

接着创建生产者:

producer = client.create_producer(
            topic='persistent://my_tenant/my_namespace/new_metering',
            schema=AvroSchema(NewMetering_AVRO),
            )

最后手动构建对象并发送:

new_metering_AVRO_record = NewMetering_AVRO()
new_metering_AVRO_record.id = uuid.uuid4()
new_metering_AVRO_record.speed = new_metering.speed
new_metering_AVRO_record.light = new_metering.light
producer.send(content=new_metering, partition_key=new_metering.id)

有没有现成的库或者可行的实现思路?如果没有,我会自行编写开源库。

内容的提问来源于stack exchange,提问作者feder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:23:18