Коннектор источника Kafka Teradata, извлекающий заголовок столбца - PullRequest
0 голосов
/ 06 мая 2020

Использование коннектора источника 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

Надеюсь, что кто-то может помочь в этом.

1 Ответ

1 голос
/ 06 мая 2020

Добавить параметр COLUMN_NAME = ON к URL-адресу Teradata

jdbc:teradata://mytdname/COLUMN_NAME=ON,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...