Использование коннектора источника Kafka Confluent Teradata для чтения данных из таблицы в топи Kafka c. Это работает должным образом, пока таблица Teradata не содержит заголовок столбца. Если указан заголовок столбца, он ссылается на заголовок столбца вместо имя столбца и получает сообщение об ошибке. В сообщении об ошибке Emp ID - это заголовок столбца, а EMP_ID - это имя столбца.
Error:
Caused by: org.apache.avro.SchemaParseException: Illegal character in: Emp ID
at org.apache.avro.Schema.validateName(Schema.java:1532)
at org.apache.avro.Schema.access$400(Schema.java:87)
at org.apache.avro.Schema$Field.<init>(Schema.java:520)
at org.apache.avro.Schema$Field.<init>(Schema.java:559)
Пробовал несколько вариантов и придумал следующий обходной путь для отправки запроса в файлы свойств, это работает, как ожидалось. Но проблема в том, что у нас есть сотни таблиц, которые можно извлечь из Teradata, и для этого обходного пути нам нужно создать отдельный файл свойств для каждой таблицы и явно указать все столбцы. Это усложняет обслуживание.
query=SELECT EMP_ID AS EMP_ID, CRET_TS AS CRET_TS FROM schema.table
Надеюсь, что кто-то может помочь в этом.