Если вы хотите, чтобы они всегда синхронизировались c, вы можете использовать EXTERNAL TABLES
в Snowflake, чтобы гарантировать, что таблицы всегда синхронизируются c со Snowflake. Поместите MATERIALIZED VIEW
поверх внешней таблицы, и теперь у вас есть таблица Snowflake, синхронизированная c с вашими файлами S3. В этом случае каждый раз, когда файл S3 изменяется или добавляется, файл будет загружен в MV.
https://docs.snowflake.com/en/user-guide/tables-external.html
Если файлы, которые приходят обновили записи и удалили, помеченные в данных как данные CD C, то вместо этого вам нужно будет использовать потоки и задачи. Сначала загрузите файл в промежуточную таблицу с помощью COPY INTO
или Snowpipe (для чего требуется установка SQS), затем поместите поток поверх промежуточной таблицы и, наконец, создайте задачу, которая проверяет поток на наличие новых записей и выполняет MERGE
против вашего финального стола.
https://docs.snowflake.com/en/user-guide/data-pipelines.html