Debezium тема маршрутизации 3 таблицы

У меня есть 3 типа таблиц

raw_app_logs_$daystamp
raw_users_logs_$daystamp
city_logs_$daystamp

Теперь следующая тема Reroute отлично работает для 1 типа таблиц:

transforms=Reroute
transforms.Reroute.type=io.debezium.transforms.ByLogicalTableRouter
transforms.Reroute.topic.regex=(.*)raw_app_logs(.*)
transforms.Reroute.topic.replacement=$1raw_app_logs

Это берет raw_app_logs_20200720, raw_app_logs_20200721 ​​и т.д. и отлично записывает их в тему raw_app_logs.

Как мне добавить другие 2 записи, чтобы они совпадали и отправлялись по названиям тем?

Например: raw_app_logs_20200720 переходит в тему raw_app_logs, в то время как raw_users_logs_20200720 переходит в тему с именем raw_users_logs, а city_logs_20200720 переходит в тему с именем city_logs в том же файле конфигурации.


person rezizter    schedule 22.07.2020    source источник


Ответы (1)


Нашел ответ:

Используйте группы регулярных выражений, а затем просто распечатайте первую группу:

transforms=Reroute
transforms.Reroute.type=io.debezium.transforms.ByLogicalTableRouter
transforms.Reroute.topic.regex=(.*)([^0-9]).*
transforms.Reroute.topic.replacement=$1
person rezizter    schedule 22.07.2020