Экспорт таблицы Kusto в столбец SQL Server GENERATED ALWAYS - PullRequest
0 голосов
/ 03 августа 2020

Я настраиваю конвейер данных для экспорта из таблицы Kusto в таблицу SQL Server. Единственная проблема - в целевой таблице есть два столбца GENERATED ALWAYS. Нужна помощь в реализации решения с использованием Kusto.

Это оператор экспорта:

.export async to sql ['CompletionImport']
h@"connection_string_here"
with (createifnotexists="true", primarykey="CompletionSearchId")
<|set notruncation;
apiV2CompletionSearchFinal
| where hash(SourceRecordId, 1) == 0

, который дает ошибку:

Cannot insert an explicit value into a GENERATED ALWAYS column in table 'server.dbo.CompletionImport'. 
Use INSERT with a column list to exclude the GENERATED ALWAYS column, or insert a DEFAULT into GENERATED ALWAYS column.

Итак, я Немного не знаю, как реализовать это решение в Кусто. Мог бы я просто добавить трубу project, исключая столбцы GENERATED ALWAYS? Может быть, в идеале, как я могу вставить значение DEFAULT в GENERATED ALWAYS SQL столбцы сервера с помощью запроса Kusto?

Изменить: Попытка использовать materialize для создания временной таблицы в кеше и экспорта этой кэшированной таблицы. Однако я не могу найти никакой документации по этому поводу, и операция не выполняется:

let dboV2CompletionSearch = apiV2CompletionSearchFinal 
| project every, variable, besides, generated, always, ones;
 let cachedCS = materialize(dboV2CompletionSearch);

.export async to sql ['CompletionImport']
h@"connect_string"
with (createifnotexists="true", primarykey="CompletionSearchId")
<|set notruncation;
cachedCS
| where hash(SourceRecordId, 1) == 0

со следующим сообщением об ошибке:

Semantic error: 'set notruncation;
cachedCS
| where hash(SourceRecordId, 1) == 0' 
has the following semantic error: SEM0100: 
'where' operator: Failed to resolve table or column expression named 'cachedCS'.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...