1) Dans Java Client, en utilisant producer.put(), nous pouvons ajouter des sérialiseurs pour les entiers et les chaînes. Comment faisons-nous cela pour le client confluent-kafka-python? 2) Comment sérialiser les enregistrements protoBuf?Confluent Kafka: Comment la sérialisation et le partitionnement sont-ils spécifiés dans le client confluent-kafka-python?
0
A
Répondre
0
Pour la question n ° 1: Ajouter key.serializer
et value.serializer
dans la configuration, comme indiqué ci-dessous:
from confluent_kafka import Producer
import socket
conf = {'bootstrap.servers': "host1:9092,host2:9092",
'client.id': socket.gethostname(),
'key.serializer': 'key serializer classpath',
'value.serializer': 'value serializer classpath',
'default.topic.config': {'acks': 'all'}}
producer = Producer(conf)
Pour la question n ° 2: Mettre en oeuvre votre propre classe ProtobufSerializer et définir {key |} valeur .serializer à elle.
Merci pour votre réponse! Pouvez-vous s'il vous plaît laissez-moi savoir quels sont les serialzers disponibles? – NoName
Vérifiez https://kafka.apache.org/0102/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html pour toutes les sous-classes d'implémentation connues de serdes. – amethystic