Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka Kafka Connect JDBC源:字段的空值,该字段是必需的,没有默认值_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Apache kafka Kafka Connect JDBC源:字段的空值,该字段是必需的,没有默认值

Apache kafka Kafka Connect JDBC源:字段的空值,该字段是必需的,没有默认值,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在尝试使用postgresql设置Kafka Connect Jdbc源连接器,但出现以下错误: org.apache.kafka.connect.errors.DataException: Conversion error: null value for field that is required and has no default value at org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonCo

我正在尝试使用postgresql设置Kafka Connect Jdbc源连接器,但出现以下错误:

org.apache.kafka.connect.errors.DataException: Conversion error: null value for field that is required and has no default value
    at org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:556)
    at org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:650)
    at org.apache.kafka.connect.json.JsonConverter.convertToJsonWithEnvelope(JsonConverter.java:537)
    at org.apache.kafka.connect.json.JsonConverter.fromConnectData(JsonConverter.java:290)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.sendRecords(WorkerSourceTask.java:198)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:168)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:146)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:190)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
以下是配置:

{
  "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
  "incrementing.column.name": "id",
  "tasks.max": "1",
  "query": "SELECT * FROM comments",
  "table.whitelist": "comments",
  "mode": "incrementing",
  "key.converter.schemas.enable": "true",
  "topic.prefix": "comments_topic",
  "value.converter.schemas.enable": "true",
  "name": "JdbcSourceConnector",
  "connection.url": "jdbc:postgresql://db:5432/my-db?user=postgres&password=password",
  "value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "key.converter": "org.apache.kafka.connect.json.JsonConverter"
}
知道问题是什么吗

我有时也会遇到这样的错误:

org.apache.kafka.connect.errors.DataException: Found null value for non-optional schema
    at io.confluent.connect.avro.AvroData.validateSchemaValue(AvroData.java:981)
    at io.confluent.connect.avro.AvroData.fromConnectData(AvroData.java:359)
    at io.confluent.connect.avro.AvroData.fromConnectData(AvroData.java:532)
    at io.confluent.connect.avro.AvroData.fromConnectData(AvroData.java:324)
    at io.confluent.connect.avro.AvroConverter.fromConnectData(AvroConverter.java:76)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.sendRecords(WorkerSourceTask.java:198)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:168)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:146)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:190)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

1) 如果要选择所有列,是否考虑过使用Debezium?2) 表的模式是什么?3) 您的表中有空值吗?1)有。我使用jdbc的唯一原因是因为我正在学习使用它的教程。2) int4,int4,text,idea\u comment\u type,int4,bool,timestampz,timestampz。3) 不知道。我不确定jdbc连接器是否知道如何使用
idea\u comment\u type
(这真的是列类型吗?)它是自定义类型。我已尝试从SELECT中删除它,但仍然出现错误。1)如果要选择所有列,是否考虑过使用Debezium?2) 表的模式是什么?3) 您的表中有空值吗?1)有。我使用jdbc的唯一原因是因为我正在学习使用它的教程。2) int4,int4,text,idea\u comment\u type,int4,bool,timestampz,timestampz。3) 不知道。我不确定jdbc连接器是否知道如何使用
idea\u comment\u type
(这真的是列类型吗?)它是自定义类型。我已尝试将其从SELECT中删除,但仍然出现错误。