2016-09-08 3 views
0

J'utilise le Connecteur JDBC Kafka pour lire les données d'une base de données dans Kafka. Cela fonctionne, mais il sort toujours des données au format Avro même si j'ai spécifié qu'il devrait utiliser JSON. Je sais qu'il le fait parce que quand je consomme des messages de ce sujet en python, je vois le schéma en haut de chaque message.Kafka Connect ne produisant pas de JSON

je lance le connecteur comme ceci:

/usr/bin/connect-standalone /etc/schema-registry/connect-json-standalone.properties /etc/kafka-connect-jdbc/view.properties 

Le contenu du fichier est connect-json-standalone.properties:

bootstrap.servers=localhost:9092 

key.converter=org.apache.kafka.connect.json.JsonConverter 
key.converter.schema.registry.url=http://localhost:8081 
key.converter.schemas.enable=true 
value.converter=org.apache.kafka.connect.json.JsonConverter 
value.converter.schema.registry.url=http://localhost:8081 
value.converter.schemas.enable=true 

internal.key.converter=org.apache.kafka.connect.json.JsonConverter 
internal.value.converter=org.apache.kafka.connect.json.JsonConverter 
internal.key.converter.schemas.enable=false 
internal.value.converter.schemas.enable=false 

# Local storage file for offset data 
offset.storage.file.filename=/tmp/connect.offsets 

et le contenu du fichier/etc/kafka-Connect -jdbc/view.properties est:

name=view-small-jdbc-daily 
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector 
tasks.max=1 
connection.url=jdbc:teradata://domain.com/charset=UTF8,DBS_PORT=1025,DATABASE=test,USER=***,PASSWORD=***,LOB_SUPPORT=OFF 
mode=bulk 
table.whitelist=test_table 
topic.prefix=view5- 
+1

Avez-vous essayé de configurer converter.schmas.enable = false? – dawsaw

Répondre

1

Deux problèmes dans votre configuration:

  1. Si vous utilisez JSONConverter, vous n'avez pas besoin de configurer un registre de schéma, mais uniquement pour l'AvroConverter. Vous pouvez donc supprimer key.converter.schema.registry.url et value.converter.schema.registry.url
  2. Deuxièmement, vous avez key.converter.schemas.enable=true et value.converter.schemas.enable=true, vous ne devriez donc pas être surpris que le JSON inclue un schéma. Vous avez spécifié que nous devrions l'inclure. Si vous ne voulez pas de schéma, réglez simplement ces paramètres sur false