J'essaye de lire 2 sujets kafka en utilisant le connecteur d'évier JDBC et de l'augmenter en 2 tables Oracle que j'ai créées manuellement. Chaque table possède 1 clé primaire que je veux utiliser en mode upsert. Le connecteur fonctionne correctement si je n'utilise qu'un seul sujet et seulement 1 champ dans pk.fields
mais si j'entre plusieurs colonnes dans pk.fields
un de chaque table, il ne reconnaît pas le schéma. Ai-je manqué quelque chose s'il vous plaît suggérer.JDBC Sink Connector - Mise à jour dans plusieurs tables à partir de plusieurs sujets en utilisant 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
Merci beaucoup Robin mais à l'avenir le nombre de sujets continuera à augmenter peut être jusqu'à 100 et à gérer 100 connecteurs, est-ce une bonne option? Aussi, nous avons l'intention de faire de notre pipeline de données en temps réel en utilisant kafka connect car nos sources seront multiples base de données oracle et puits sera une maison de données oracle, ne sera-t-il pas difficile de gérer autant de connecteurs? –
J'ai mis à jour ma réponse - vous pouvez également utiliser l'option 'record_key', et assurez-vous que vos messages kafka sont codés en conséquence. Quelle option utilisez-vous pour extraire les données d'Oracle? Des outils comme GoldenGate vous permettent de spécifier la clé, vous pouvez également utiliser [SMT] (https://www.confluent.io/blog/simplest-useful-kafka-connect-data-pipeline-world-thereabouts-part-3/) dans Se connecter pour définir les clés –