исходное соединение kafka не публикуется в режиме метки времени

Я пытаюсь создать исходное соединение Kafka с режимом отметки времени в Windows. У меня есть эта таблица:

CREATE TABLE "usu"."mytable" (  
"first_name" CHAR(8 BYTE) DEFAULT ' ',  
"last_name" CHAR(8 BYTE) DEFAULT ' ',  
"regist" TIMESTAMP (0) DEFAULT SYS_EXTRACT_UTC(SYSTIMESTAMP)  
) TABLESPACE "temp" ;  

свойства базы данных оракула:

name=jdbc-conector  
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector  
connection.url=jdbc:oracle:thin:@localhost:1521:xe  
connection.user=usu  
connection.password=pwd  
query=select NDZ, to_timestamp(STRING_TIMESTAMP,'YYYY - MM - DD HH: MI: SS, FF6') AS TIMESTAMP_COLUMN FROM myTable
mode=timestamp+incrementing 
timestamp.column.name=TIMESTAMP_COLUMN
incrementing.column.name=NDZ
db.timezone=UTC
dialect.name=OracleDatabaseDialect
numeric.mapping=best_fit
table.types=TABLE  
poll.interval.ms=1000  
topic.prefix=input-mytable

INSERT INTO "usu"."mytable" (first_name,last_name) values("jake","tyler");
select output:
jake    tyler   2019-08-23 11:54:47:046

Консоль-потребитель не возвращает никакого вывода:

kafka-console-consumer --bootstrap-server localhost:9092 --topic input-mytable  

Коннектор работает только в массовом режиме. Я не понимаю почему.

проверка разъема:

curl localhost:8083/connectors/jdbc-conector/status/  
{"name":"jdbc-conector","connector": 
{"state":"RUNNING","worker_id":"1.2.3.4:8083"},"tasks": 
[{"id":0,"state":"RUNNING","worker_id":"1.2.3.4:8083"}],"type":"source"}

Ред. В режиме отладки мой вывод выглядит следующим образом.

источник кафка подключить:

D:\kafka\bin\windows\connect-standalone.bat D:\kafka\config\connect-standalone.properties D:\kafka\config\connect-bbdd.properties  

выход:

DEBUG: prepared SQL query: 'select NDZ, to_timestamp(STRING_TIMESTAMP,'YYYY - MM - DD HH: MI: SS, FF6') AS TIMESTAMP_COLUMN FROM myTable) WHERE "TIMESTAMP_COLUMN" < ? AND(("TIMESTAMP_COLUMN" = ? AND "NDZ" > ? ) OR "TIMESTAMP_COLUMN" > ? ) ORDER BY "TIMESTAMP_COLUMN", "NDZ" ASC.  

[2019-08-23 14:01:36,150] DEBUG Executing prepared statement with start time value = 2019-08-23 11:40:47:046 end time = 2019-08-23 11:40:47:046 and incrementing value = 19 (io.confluent.connect.jdbc.source.TimestampIncrementingCriteria)  

Как я могу контролировать разницу во времени?


person Lanre    schedule 09.08.2019    source источник
comment
Есть ли ошибки в журналах Kafka Connect?   -  person Giorgos Myrianthous    schedule 09.08.2019
comment
Взгляните на это: confluent.io/blog/   -  person Robin Moffatt    schedule 09.08.2019
comment
В режиме отладки я увидел, что проблема в неправильном времени. Я изменил свое поле и использовал метку времени без часового пояса, но с кафкой все равно больше получаса. Как я могу контролировать эту разницу?   -  person Lanre    schedule 23.08.2019


Ответы (1)


Для меня проблема была связана с часовым поясом моего соединителя kafka. Мой соединитель Kafka был временем GMT, а БД - GMT+3. Таким образом, все вставки\обновления были раньше времени, поэтому соединитель не мог их видеть.

person BlackBird87    schedule 12.10.2020