这篇文章给大家介绍Pulsar IO 中怎么调用Schema ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
我们提供的服务有:做网站、网站制作、微信公众号开发、网站优化、网站认证、长阳ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的长阳网站制作公司
Schema 是一种描述数据的数据 。例如,数据库中表的信息和字段类型等都是 Schema。Pulsar 对 Schema 也有比较好的支持。
public class SensorReading {
public float temperature;
public SensorReading(float temperature) {
this.temperature = temperature;
}
// A no-arg constructor is required
public SensorReading() {
}
public float getTemperature() {
return temperature;
}
public void setTemperature(float temperature) {
this.temperature = temperature;
}
}
Producer
producer = client.newProducer(JSONSchema.of(SensorReading.class)) .topic("my-topic")
.create();
Consumer consumer = client.newConsumer(JSONSchema.of(SensorReading.class))
.topic("my-topic")
.subscriptionName("my-subscription")
.subscribe();
if (conf.getSerdeClassName() != null && !conf.getSerdeClassName().isEmpty()) { schema = (Schema) topicSchema.getSchema(topic, typeArg, conf.getSerdeClassName(), true); } else { schema = (Schema ) topicSchema.getSchema(topic, typeArg, conf.getSchemaType(), true); }
case NONE:
return (Schema
) Schema.BYTES;
case AUTO_CONSUME:
case AUTO:
return (Schema
) Schema.AUTO_CONSUME();
case STRING:
return (Schema
) Schema.STRING;
case AVRO:
return AvroSchema.of(SchemaDefinition.
builder().withPojo(clazz).build());
case JSON:
return JSONSchema.of(SchemaDefinition.
builder().withPojo(clazz).build());
case KEY_VALUE:
return (Schema
)Schema.KV_BYTES();
case PROTOBUF:
return ProtobufSchema.ofGenericClass(clazz, Collections.emptyMap());
}
关于Pulsar IO 中怎么调用Schema 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。