![](/img/trans.png)
[英]Confluent Python Avro Producer: The datum {'..'} is not an example of the schema
[英]Specify compression type in Confluent Python Avro Producer
在Confluent的Kafka(python)中使用AvroProducer时,是否可以在生产者配置中指定compression.type
?
我尝试了以下方法:
from confluent_kafka import avro
from confluent_kafka.avro import AvroProducer
from myconfigs import BOOTSTRAP_SERVER, SCHEMA_REGISTRY_URL, KEY_SCHEMA, VALUE_SCHEMA
avroProducer = AvroProducer({'bootstrap.servers': BOOTSTRAP_SERVER, 'schema.registry.url': SCHEMA_REGISTRY_URL, 'compression.type': 'gzip'},
default_key_schema=KEY_SCHEMA, default_value_schema=VALUE_SCHEMA)
运行此命令时出现以下错误:
Traceback (most recent call last):
File "confluent_click.py", line 47, in <module>
default_key_schema=KEY_SCHEMA, default_value_schema=VALUE_SCHEMA)
File "/usr/local/lib/python3.6/site-packages/confluent_kafka/avro/__init__.py", line 38, in __init__
super(AvroProducer, self).__init__(config)
cimpl.KafkaException: KafkaError{code=_INVALID_ARG,val=-186,str="No such configuration property: "compression.type""}
还尝试将compression_type = 'gzip'
指定为AvroProducer()
的参数, AvroProducer()
:
avroProducer = AvroProducer({'bootstrap.servers': BOOTSTRAP_SERVER, 'schema.registry.url': SCHEMA_REGISTRY_URL},
default_key_schema=KEY_SCHEMA, default_value_schema=VALUE_SCHEMA, compression_type='gzip')
我没想到这会成功,但没有成功。
Traceback (most recent call last):
File "confluent_click.py", line 47, in <module>
default_key_schema=KEY_SCHEMA, default_value_schema=VALUE_SCHEMA, compression_type='gzip')
TypeError: __init__() got an unexpected keyword argument 'compression_type'
如何在生产者中指定compression.type
? 我找不到AvroProducer
的文档。
出于历史原因,confluent-kafka-python的用于设置压缩类型的配置属性称为compression.codec
(librdkafka,其早于当前Java客户端,其初始配置属性基于使用compression.codec
的原始Scala客户端)。
avroProducer = AvroProducer({'bootstrap.servers': BOOTSTRAP_SERVER, 'schema.registry.url': SCHEMA_REGISTRY_URL, 'compression.codec': 'gzip'},
default_key_schema=KEY_SCHEMA, default_value_schema=VALUE_SCHEMA)
注意:confluent-kafka-python v0.11.4版本添加了compression.type
别名。
此处的配置设置的完整列表: https : //github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.