簡體   English   中英

在Confluent Python Avro Producer中指定壓縮類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM