2016-09-08 5 views
0

데이터베이스에서 카프카로 데이터를 읽으려면 JDBC 카프카 커넥터를 사용하고 있습니다. 그것은 작동하지만, JSON을 사용해야한다고 지정 했더라도 항상 Avro 형식으로 데이터를 출력합니다. 파이썬에서 그 주제의 메시지를 소비 할 때 각 메시지의 맨 위에 스키마가 표시되기 때문에이 작업을 수행한다는 것을 알고 있습니다.카프카가 JSON을 출력하지 않습니다.

는이 같은 커넥터를 실행

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

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 

및/등의 내용/카프카 - 연결 -jdbc/view.properties입니다 : 구성에

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

convert.schmas.enable = false로 설정 했습니까? – dawsaw

답변

1

두 가지 문제 :

  1. JSONConverter를 사용하는 경우 스키마 레지스트리를 구성 할 필요가 없습니다. 이는 AvroConverter에만 해당됩니다. 따라서 key.converter.schema.registry.urlvalue.converter.schema.registry.url
  2. 두 번째로 key.converter.schemas.enable=truevalue.converter.schemas.enable=true을 제거 할 수 있으므로 JSON에 스키마가 포함되어 있어도 놀랄 일이 아닙니다. 당신은 우리가 그것을 포함해야한다고 지정했습니다. 스키마가 필요없는 경우 해당 스키마를 설정하려면 false
관련 문제