Обновите запись, используя apache nifi - PullRequest
0 голосов
/ 06 ноября 2019

То, что я пытаюсь сделать, точно так же, как здесь

Но когда я использую процессор QueryRecord, я получаю ошибку:

Ошибка приподготовка оператора.

В моем сценарии у меня более 60 столбцов, и я хочу выполнить это только для 59-го столбца.

Оператор SQL:

select ... (many columns),
case when MSISDN=1994 then 0
when MSISDN=94 then 0
end MSISDN,
..(another a few columns)
from Flowfile

Я просто хочу заменить 1994 или 94 на 0.

Нужно ли для этого использовать другой процессор?

1 Ответ

1 голос
/ 07 ноября 2019

Поскольку в сообщении об ошибке указано

Ошибка при подготовке оператора.

Ваш запрос SQL недействителен.

Ввод:

ID,MSISDN,FOO
1,1994,X
2,94,Y

Запрос:

SELECT ID,
    CASE 
        WHEN MSISDN=1994 THEN 0
        WHEN MSISDN=94 THEN 1
    END MSISDN,
    CASE 
        WHEN FOO='X' THEN 'BAR'
        WHEN FOO='Y' THEN 'BAZ'
    END FOO
FROM Flowfile

Вывод:

enter image description here

Поток:

enter image description here

Свойства QueryRecord:

enter image description here

PS: если вы все еще не можете создать действительный запрос, добавьтеполный запрос на ваш вопрос, чтобы мы могли выяснить, что не так.

...