共用方式為


在載入 Lakehouse 之前,先使用預存程序前置處理資料

在本教學課程中,我們將示範如何使用管線腳本活動來執行預存程式,以建立數據表,並在 Azure 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;
    

    顯示執行預存程序以產生範例資料表的結果的螢幕擷取畫面。

建立管線腳本活動來執行預存程序

在本節中,我們使用指令碼活動來執行在必要條件中建立的預存程序。

  1. 活動 工具列中選擇一個 指令碼 活動,然後在屬性窗格中選取設定索引標籤,以選擇連線詳細資料。 選取該處的 [連線] 下拉式清單,然後選擇 [更多]。 然後,您可以連線到 Azure Synapse 資料倉儲。

    螢幕擷取畫面顯示用來建立新指令碼活動並連接至您的 Azure Synapse 資料倉儲的管線介面。

  2. 在 [新增來源] 區段下選取 Azure Synapse Analytics (SQL DW)

    顯示 [取得資料] 對話方塊的螢幕擷取畫面,其中已選取

  3. 提供 [基本驗證] 的 [伺服器]、[資料庫] 和 [使用者名稱] 和 [密碼] 欄位,然後輸入 SynapseConnection 以取得 [連線名稱]。 然後,選取 [建立],以建立新連線。

    顯示 [建立新連線] 對話方塊的螢幕擷取畫面。

  4. 輸入 "EXEC spM_add_names" 以執行預存程序。 其會建立新的資料表 dbo.name,並使用簡單的轉換來前置處理資料,進而將 "fullname" 欄位變更為兩個欄位,"first_name"和 "last_name"

    顯示 [指令碼] 活動的 [設定] 索引標籤的螢幕擷取畫面,其中該索引標籤已設定為執行 spM_add_names 預存程序。

使用管線任務將前置處理過的資料表資料載入 Lakehouse

  1. 從 [活動] 工具列選取 [複製資料],然後選取 [使用複製助理],或者在工作流程登陸頁面使用 [複製資料助理] 卡片來啟動 [複製資料助理]

    顯示 [複製資料] 下的[ 資料複製助理] 按鈕的螢幕擷取畫面。

  2. 在搜尋篩選中輸入 "Synapse",並選取資料來源的 "Azure Synapse Analytics (SQL DW)",然後選取 [下一步]

    顯示 [複製助理資料來源選取範圍] 頁面的螢幕擷取畫面,其中已選取 Azure Synapse Analytics。

  3. 選擇您先前建立的現有連線 "SynapseConnection"

    顯示 [複製助理] 的 [選擇資料來源] 頁面中先前建立的 SynapseConnection 選取範圍的螢幕擷取畫面。

  4. 選擇預存程序建立和前置處理的資料表 dbo.names。 然後選取下一步

    顯示先前步驟中預存程序建立及前置處理的 dbo.names 資料表選取範圍的螢幕擷取畫面。

  5. 選取 Lakehouse

    顯示在 [複製助理] 中選擇 [Lakehouse] 作為複製目的地的螢幕擷取畫面。

  6. 輸入名稱,並選取 [建立並連線]

    顯示 [新增 Lakehouse] 對話方塊的螢幕擷取畫面。

  7. 輸入要複製到 Lakehouse 目的地的資料的目的地資料表名稱,然後選取 [下一步]

    顯示要在 Lakehouse 目的地中使用的目的地資料表名稱的螢幕擷取畫面。

  8. 查看 [複製助理] 的最後一頁總結。 取消選取 [立即開始資料傳輸] 核取方塊,然後選取 [確定]

    顯示 [複製助理] 摘要頁面的螢幕擷取畫面,其中包含已設定連線的詳細資料。

  9. 選取 [確定] 之後,即會向管線畫布新增新的複製活動。

    顯示已新增複製活動的管線畫布的螢幕擷取畫面。

執行兩個流程活動,以載入資料

  1. 在指令碼活動中,透過 [成功] 將指令碼活動與複製資料活動連接起來。

    顯示指令碼活動成功時兩個活動的連線的螢幕擷取畫面。

  2. 選取 [執行],然後選取 [儲存並執行] 以在管線中執行這兩個活動。

    顯示 [管線執行] 按鈕的螢幕擷取畫面。

    顯示管線的 [儲存並執行] 按鈕的螢幕擷取畫面。

  3. 管線成功執行之後,您可以檢視詳細資料以取得更多資訊。 選取具有 [複製活動] 名稱的連結,以查看其執行詳細資料。

    顯示檢視管線執行詳細資料按鈕的螢幕擷取畫面。

    顯示管線的執行詳細資料的螢幕擷取畫面。

  4. 切換至工作區,並尋找您建立的 Lakehouse。 選取其下方的 [SQL 分析端點],以檢查結果。

    顯示工作區的螢幕擷圖,其中 Lakehouse 目的地被突出顯示。

  5. 選取資料表「SynapseNamesTable」,以檢視載入 Lakehouse 的數據。

    顯示 Lakehouse 中 SynapseNamesTable 的結果的螢幕擷取畫面。

此範例示範如何在將結果載入 Lakehouse 之前,使用預存程序來前置處理資料。 您已了解如何,

  • 建立一個包含 Script 活動的管道,以執行預存程序。
  • 使用管線活動將前置處理過的資料表資料載入 Lakehouse。
  • 執行管線活動,以載入資料。

接下來,深入了解如何監測您的流水線執行。