Как передать параметр потока данных в ключевой столбец в Sink Tanformation при обновлении данных? - PullRequest
0 голосов
/ 20 апреля 2020

Я реализую SCD Type2 через поток данных. Я создал параметр в нем, где я передам имя столбца и этот параметр, который я использую в преобразовании приемника в ключевом столбце.

Передача параметра в ключевой столбец в потоке данных

Я выбрал Add Dynami c Content, а затем Parameter, после чего я выбрал параметр, который я создал в Data Flow. Тогда это выглядит как "$ Key_col" . Но когда я запускаю конвейер, он выдает ошибку -

{"message": "в Sink 'sink1' (строка 56 / столбец 6): операнды столбца не допускаются в литеральных выражениях. Подробности : в Sink 'sink1' (строка 56 / столбец 6): операнды столбца недопустимы в литеральных выражениях "," faultType ":" UserError "," target ":" Update_Existing_Records "," errorCode ":" DFExecutorUserError "}

Может кто-нибудь сказать, пожалуйста, как решить эту ошибку или любой обходной путь для этой проблемы.

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Ключевой столбец не поддерживает установку с параметром. Вы можете выбрать только существующий столбец в приемнике.

Имя столбца, которое вы выберете в качестве ключа, будет использоваться ADF как часть последующего обновления, удаления, удаления. Следовательно, вы должны выбрать столбец, который существует в отображении Sink. Если вы не хотите записывать значение в этот ключевой столбец sh, нажмите «Пропустить запись ключевых столбцов».

Пожалуйста, укажите: Отображение свойств потока данных .

Параметр Key_col не существует в приемнике, даже если он имеет то же имя.

Обновление:

Параметр потока данных:

enter image description here

Если мы хотим использовать обновление, мы должны добавить активную строку Alter:

enter image description here

Sink, ключевой столбец выбрать существующий столбец «имя»:

enter image description here

Трубопровод успешно запущен:

enter image description here

enter image description here

Надеюсь, это поможет.

0 голосов
/ 21 апреля 2020

Да, это работа. Вам просто нужно поместить одинарные кавычки вокруг значения параметра следующим образом:

"'$ Key_col'"

Я использую двойные кавычки для интерполяции строк в этом решении, поэтому вставьте его в Ваше выражение именно так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...