У меня есть две таблицы в снежинке с именами table1 и table2. Table1 - это исходная таблица, которая содержит инкрементные данные, а table2 - целевая таблица.
Итак, мой вариант использования: я должен взять данные из table1 и обновить данные в table2, но этот процесс должен быть выполнен с использованием Azure Фабрика данных.
Я пытался создать поток данных в ADF, но это не позволило мне напрямую подключиться к снежинке, так как ее нет в списке поддерживаемых источников. Встроенный коннектор «снежинка» поддерживает только действие копирования данных. Поэтому в качестве работы я сначала создал операцию копирования, которая копирует данные из снежинки в azure blob. Затем использовал Azure Blob в качестве источника для потока данных для создания моей реализации scd1 и сохранил вывод в файлах csv.
Теперь у меня вопрос, как мне обновить данные в целевой таблице2. Потому что, если я напрямую использую действие копирования для копирования файлов csv в снежинку, это приведет к дублированию записей на стороне снежинки. Например, допустим, что table2 содержит строку
id,name,age,data
1234,kristopher,24,somedata
, а table1 содержит
id,name,age,data
1234,kristopher,24,some-new-data
Итак, теперь у меня есть данные table1 в csv, которые необходимо загрузить в снежинку. Если я загружаю напрямую, результат будет выглядеть примерно так.
id,name,age,data
1234,kristopher,24,somedata
1234,kristopher,24,some-new-data
Но мне нужно только
1234,kristopher,24,some-new-data
Сообщите мне, если требуются дополнительные пояснения. Я новичок в Azure Data Factory и Snowflake.
Спасибо