Есть ли простой способ перевести ETL из хранилища больших двоичных объектов Azure в Snowflake EDW?

#azure #stored-procedures #etl #azure-data-factory #snowflake-cloud-data-platform

#лазурный #хранимые процедуры #etl #azure-data-factory #snowflake-cloud-data-platform

Вопрос:

У меня есть следующие требования ETL для Snowflake в Azure, и я хотел бы реализовать как можно более простое решение из-за временных и технологических ограничений.

Требования :

Ежедневно загружайте CSV-данные (всего несколько мегабайт) из хранилища больших двоичных объектов Azure в Snowflake Warehouse в промежуточную таблицу. Преобразуйте загруженные выше данные в самой Snowflake, где преобразование ограничено всего несколькими объединениями и агрегациями для получения нескольких показателей. И, наконец, поместите эти данные в наши итоговые таблицы в Datamart в той же базе данных Snowflake. Наконец, автоматизируйте вышеупомянутый конвейер, используя расписание ИЛИ триггер на основе событий (т. Е. Шаги, Которые запускаются, как только файл попадает в хранилище больших двоичных объектов).

Ограничения :

Мы не можем использовать фабрику данных Azure для достижения этой простейшей конструкции. Мы также не можем использовать функции Azure для развертывания сценариев преобразования Python и их планирования. И я обнаружил, что преобразование с использованием Snowflake SQL является ограниченной функцией, где оно допускает только определенные вещи как часть КОПИРОВАНИЯ В команду, но не поддерживает ОБЪЕДИНЕНИЯ и ГРУППИРОВАНИЕ ПО. Кроме того, хотя следующий ПОТОК предполагает, что планирование SQL возможно, но это не соответствует моим требованиям к преобразованию.

С уважением, Рой

Прилагаю следующую схему идеи для большей ясности. Схема проектирования для реализации желаемого решения

https://community.snowflake.com/s/question/0D50Z00009Z3O7hSAF/how-to-schedule-jobs-from-azure-cloud-for-loading-data-from-blobscheduling-snowflake-scripts-since-dont-have-cost-for-etl-tool-purchase-for-scheduling

https://docs.snowflake.com/en/user-guide/data-load-transform.html#:~:text=Snowflake supports transforming data while,columns during a data load.

Ответ №1:

Вы можете создать snowpipe в хранилище больших двоичных объектов Azure, как только snowpipe будет создан поверх вашего хранилища больших двоичных объектов Azure, он будет отслеживать корзину, и файл будет загружен в вашу таблицу этапов, как только поступит новый файл. После копирования данных в таблицу этапов вы можете запланировать преобразование SQL с помощью snowflake task.

Вы можете сослаться на этап создания snowpipe для хранилища больших двоичных объектов Azure по ссылке ниже: Snowpipe в хранилище больших двоичных объектов Microsoft Azure

Комментарии:

1. Привет, Шрига, спасибо за идею, тогда я проверю.

2. Если вам не нужно, чтобы это было в режиме реального времени, то вы можете просто использовать КОПИРОВАНИЕ В функциональность, не оборачивая его в «код» Snowpipe