2017-10-14 6 views
0

J'ai lu http://debezium.io/docs/connectors/mysql/ mais je ne pouvais pas savoir si debezium peut être configuré pour que les modifications de 2 (ou plus) tables puissent être écrites sur le même sujet kafka? Il me semble que c'est toujours 1 table -> 1 sujet.Est-il possible dans Debezium de configurer le mappage table topic => kafka?

+0

Il semble possible http://debezium.io/docs/configuration/topic-routing/ mais je ne sais pas exactement si elle nécessite le schéma dans 2 tables être exactement le même ou pas? –

Répondre

2

Oui, utilisez Single Message Transforms, par the link vous avez identifié. Vous pouvez utiliser des expressions régulières (regex) pour mapper les tables au sujet requis. Les deux io.debezium.transforms.ByLogicalTableRouter ou org.apache.kafka.connect.transforms.RegexRouter devraient faire l'affaire. Il y a un exemple de ce dernier in this post here:

"transforms":"dropPrefix", 
"transforms.dropPrefix.type":"org.apache.kafka.connect.transforms.RegexRouter", 
"transforms.dropPrefix.regex":"DC1-TEST-(.*)", 
"transforms.dropPrefix.replacement":"$1" 
+1

'ByLogicalTableRouter' vous permet d'enrichir la clé primaire qui peut être utile lorsque vous avez des événements de plusieurs tables dans un sujet. Sur la question dans le commentaire ci-dessus, son cas d'utilisation original était pour les tables partagées, mais il devrait aussi fonctionner pour des tables avec des schémas différents. – Gunnar