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

В этом руководстве показано, как использовать действие скрипта конвейера для выполнения хранимой процедуры для создания таблицы и предварительной обработки данных в хранилище данных Synapse. После этого мы загружаем предварительно обработанную таблицу в Lakehouse.

Необходимые компоненты

  • Рабочая область с поддержкой Microsoft Fabric. Если у вас еще нет его, см. статью "Создание рабочей области".

  • Подготовьте хранимую процедуру в хранилище данных Azure Synapse. Заранее создайте следующую хранимую процедуру:

    CREATE PROCEDURE spM_add_names
    AS
    --Create initial table
    IF EXISTS (SELECT * FROM sys.objects
    WHERE object_id = OBJECT_ID(N'[dbo].[names]') AND TYPE IN (N'U'))
    BEGIN
    DROP TABLE names
    END;
    
    CREATE TABLE names
    (id INT,fullname VARCHAR(50));
    
    --Populate data
    INSERT INTO names VALUES (1,'John Smith');
    INSERT INTO names VALUES (2,'James Dean');
    
    --Alter table for new columns
    ALTER TABLE names
    ADD first_name VARCHAR(50) NULL;
    
    ALTER TABLE names
    ADD last_name VARCHAR(50) NULL;
    
    --Update table
    UPDATE names
    SET first_name = SUBSTRING(fullname, 1, CHARINDEX(' ', fullname)-1);
    
    UPDATE names
    SET last_name = SUBSTRING(fullname, CHARINDEX(' ', fullname)+1, LEN(fullname)-CHARINDEX(' ', fullname));
    
    --View Result
    SELECT * FROM names;
    

    Screenshot showing the results of running the stored procedure to generate a sample table.

Создание действия скрипта конвейера для выполнения хранимой процедуры

В этом разделе мы используем действие скрипта для запуска хранимой процедуры, созданной в предварительных требованиях.

  1. Выберите действие "Скрипт" и выберите "Создать ", чтобы подключиться к хранилищу данных Azure Synapse.

    Screenshot showing the pipeline interface to create a new script activity and connect to your Azure Synapse Data Warehouse.

  2. Выберите Azure Synapse Analytics и нажмите кнопку "Продолжить".

    Screenshot showing the New connection dialog with Azure Synapse Analytics selected.

  3. Укажите поля "Сервер", "База данных" и "Пароль" для базовой проверки подлинности и введите Synapse Подключение ion для имени Подключение ion. Затем нажмите кнопку "Создать ", чтобы создать новое подключение.

    Screenshot showing the create new connection dialog.

  4. Входной файл EXEC spM_add_names для выполнения хранимой процедуры. Он создает новую таблицу dbo.name и предварительно обрабатывает данные с помощью простого преобразования, чтобы изменить поле полного имени на два поля, first_name и last_name.

    Screenshot showing the settings tab of the Script activity configured to execute the spM_add_names stored procedure.

Использование действия конвейера для загрузки предварительно обработанных данных таблицы в Lakehouse

  1. Выберите "Копировать данные", а затем выберите "Использовать помощник копирования".

    Screenshot showing the Use copy assistant button under Copy data.

  2. Выберите Azure Synapse Analytics для источника данных и нажмите кнопку "Далее".

    Screenshot showing the Copy assistant data source selection page with Azure Synapse Analytics selected.

  3. Выберите существующее подключение Synapse Подключение ion, созданное ранее.

    Screenshot showing the selection of the previously created SynapseConnection in the Choose data source page of the Copy assistant.

  4. Выберите таблицу dbo.name , созданную и предварительно обработанную хранимой процедурой. Затем выберите Далее.

    Screenshot showing the selection of the dbo.names table created and preprocessed by the stored procedure in the previous steps.

  5. Выберите Lakehouse на вкладке "Рабочая область " в качестве назначения, а затем нажмите кнопку "Далее ".

    Screenshot showing the selection of Lakehouse for the copy destination in the Copy assistant.

  6. Выберите существующий или создайте новый Lakehouse, а затем нажмите кнопку "Далее".

    Screenshot showing the selection of a Lakehouse destination in the Copy assistant.

  7. Введите имя целевой таблицы для копирования данных в место назначения Lakehouse и нажмите кнопку "Далее".

    Screenshot showing the destination table name to be used in the Lakehouse destination.

  8. Просмотрите сводку на окончательной странице помощник копирования и нажмите кнопку "ОК".

    Screenshot showing the summary page of the Copy assistant with details of the configured connections.

  9. После нажатия кнопки "ОК" на холст конвейера будет добавлен новый действие Copy.

    Screenshot showing the pipeline canvas with the Copy activity added.

Выполнение двух действий конвейера для загрузки данных

  1. Подключение действия скрипта и копирования данных по При успешном выполнении действия скрипта.

    Screenshot showing the connection of the two activities on success of the Script activity.

  2. Нажмите кнопку "Выполнить ", а затем "Сохранить" и запустите для выполнения двух действий в конвейере.

    Screenshot showing the pipeline Run button.

    Screenshot showing the Save and run button for the pipeline.

  3. После успешного запуска конвейера можно просмотреть дополнительные сведения.

    Screenshot showing the view pipeline run details button.

    Screenshot showing the run details for the pipeline.

  4. Перейдите в рабочую область и выберите Lakehouse, чтобы проверка результаты.

    Screenshot showing the workspace with the Lakehouse destination highlighted.

  5. Выберите таблицу SynapseNamesTable, чтобы просмотреть dat, загруженный в Lakehouse.

    Screenshot showing the results in the SynapseNamesTable in Lakehouse.

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

  • Создайте конвейер данных с действием скрипта для выполнения хранимой процедуры.
  • Используйте действие конвейера для загрузки предварительно обработанных данных таблицы в Lakehouse.
  • Выполните действия конвейера для загрузки данных.

Затем перейдите к дополнительным сведениям о мониторинге выполнения конвейера.