Nifi: не удалось выполнить ExecuteSQL из-за недопустимого символа в запросе SQL - PullRequest
0 голосов
/ 19 октября 2018

У меня есть поток NIFI, который имеет

...->ExecuteSQL->CovertRecord->..

Во время обработки моего потока он застревает на ExecuteSQL процессоре.Мой ExecuteSQL выполняет запрос примерно так:

select f_id,UDF_MD5('J=iDl47av=L'||foo||'%Xh)R/ljFrp') from bar

ОШИБКА [Управляемый таймером поток процессов-10] oanifi.processors.standard.ExecuteSQL ExecuteSQL [id = 5ea0e2b3-0af5-3e47-6d53-964fe8cbf9f7] ExecuteSQL [id = 5ea0e2b3-0af5-3e47-6d53-964fe8cbf9f7] не удалось обработать сеанс из-за org.apache.avro.SchemaParseException: недопустимый символ в: udf_md5 ((('J = iDl47av = L | || '% Ки) R / ljFrp'));Процессор административно сдан в течение 1 секунды: org.apache.avro.SchemaParseException: недопустимый символ в: udf_md5 ((('J = iDl47av = L' || foo) || '% Xh) R / ljFrp')) org.apache.avro.SchemaParseException: недопустимый символ в: udf_md5 ((('J = iDl47av = L' || foo) || '% Xh) R / ljFrp'))

Я считаю, что это нужно сделатьчто-то со спецификацией именования Avro для атрибута udf_md5.Могу ли я узнать об этой же работе?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Попробуйте с псевдонимом для столбца функции udf_md5 и попробуйте снова выполнить запрос.

Запрос:

select f_id,UDF_MD5('J=iDl47av=L'||foo||'%Xh)R/ljFrp') as udf_md from bar
0 голосов
/ 19 октября 2018

Попробуйте установить для параметра «Нормализация имен таблиц / столбцов» значение true в ExecuteSQL.

...