0
JDBC 싱크 커넥터를 사용하여 2 개의 카프카 항목을 읽고이를 수동으로 만든 2 개의 Oracle 테이블로 업 샘플하려고합니다. 각 테이블에는 upsert 모드에서 사용하려는 1 개의 기본 키가 있습니다. 커넥터는 1 주제에 대해서만 사용하고 pk.fields
에서는 1 필드 만 사용하면 잘 작동하지만 각 테이블에서 하나씩 pk.fields
에 여러 열을 입력하면 스키마를 인식하지 못합니다. 내가 놓친 것이 있으시면 제안하십시오.JDBC 싱크 커넥터 - kafka-connect를 사용하여 여러 테이블 항목에서 여러 테이블로 업 그레 이터
name=oracle_sink_prod
connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
tasks.max=1
topics=KAFKA1011,JAFKA1011
connection.url=URL
connection.user=UID
connection.password=PASSWD
auto.create=false
table.name.format=KAFKA1011,JAFKA1011
pk.mode=record_value
pk.fields= ID,COMPANY
auto.evolve=true
insert.mode=upsert
//ID is pk of kafka1011 table and COMPANY is of other
고마워요 로빈하지만 미래에는 주제 수가 늘어날수록 최대 100 개가 될 것이며 100 개의 커넥터를 관리 할 수있는 좋은 선택입니까? 또한 우리는 kafka를 사용하여 데이터 파이프 라인을 실시간으로 만들 계획을 세웠습니다. 소스는 여러 오라클 데이터베이스가 될 것이고 싱크는 오라클 데이터웨어 하우스가 될 것이므로 많은 커넥터를 관리하기가 어려울까요? –
나는 나의 대답을 업데이트했다. 당신은 또한'record_key' 옵션을 사용할 수 있으며, 카프카 메시지가 적절히 입력되어 있는지 확인해야한다. 오라클에서 데이터를 가져 오는 데 사용하는 옵션은 무엇입니까? GoldenGate와 같은 도구로 키를 지정할 수 있으며 [SMT] (https://www.confluent.io/blog/simplest-useful-kafka-connect-data-pipeline-world-thereabouts-part-3/)를 사용할 수도 있습니다. 연결 자체에서 키 정의 –