教學課程:使用 parquet 格式擷取事件中樞資料,並使用 Azure Synapse Analytics 進行分析

本教學課程說明如何使用串流分析無程式碼編輯器來建立作業,以擷取 中的事件中樞資料,以 parquet 格式Azure Data Lake Storage Gen2。

在本教學課程中,您會了解如何:

  • 部署事件產生器,以將範例事件傳送至事件中樞
  • 使用無程式碼編輯器建立串流分析作業
  • 檢閱輸入資料和結構描述
  • 設定將事件中樞資料擷取至其中的 Azure Data Lake Storage Gen2
  • 執行串流分析作業
  • 使用 Azure Synapse Analytics 來查詢 parquet 檔案

先決條件

開始之前,請先確定您已完成下列步驟:

使用無程式碼編輯器來建立串流分析工作

  1. 找出已部署 TollApp 事件產生器的資源群組。

  2. 選取 Azure 事件中樞命名空間

  3. 在 [事件中樞命名空間] 頁面上,選取左側功能表中 [實體] 下的 [事件中樞]。

  4. 選取 entrystream 實例。

    螢幕擷取畫面,其中顯示選取事件中樞。

  5. 在 [事件中樞執行個體] 頁面上,選取左側功能表上 [功能] 區段中的 [處理資料]。

  6. 選取 [以 Parquet 格式將資料擷取至 ADLS Gen2] 圖格上選取 [開始]。

    螢幕擷取畫面,其中顯示 [以 Parquet 格式將資料擷取至 ADLS Gen2] 圖格的選取項目。

  7. 為您的作業 parquetcapture 命名,然後選取 [ 建立]。

    [新串流分析作業] 頁面的螢幕擷取畫面。

  8. 事件中樞組態頁面上,確認下列設定,然後選取 [連線]。

    • 取用者群組:預設值

    • 輸入資料的序列化類型:JSON

    • 作業將用來連線到事件中樞的驗證模式:連接字串。

      事件中樞設定頁面的螢幕擷取畫面。

  9. 在幾秒鐘內,您會看到範例輸入資料和結構描述。 您可以選擇卸除欄位、重新命名欄位或變更資料類型。

    螢幕擷取畫面,其中顯示資料的欄位和預覽。

  10. 選取畫布上的 [Azure Data Lake Storage Gen2] 圖格,並指定下列項目來進行設定

    • Azure Data Lake Gen2 帳戶所在的訂用帳戶
    • 儲存體帳戶名稱,這應該與您在<必要條件>一節中完成的 Azure Synapse Analytics 工作區一起使用的 ADLS Gen2 帳戶相同。
    • 將在其內建立 Parquet 檔案的容器。
    • 路徑模式設定為 {date}/{time}
    • 日期和時間模式作為預設 yyyy-mm-ddHH
    • 選取 [連線]

    螢幕擷取畫面,其中顯示 Data Lake Storage 的組態設定。

  11. 選取頂端功能區中的 [ 儲存 ] 以儲存您的作業,然後選取 [ 開始] 以執行作業。 啟動作業之後,請選取右上角的 X 以關閉 串流分析作業 頁面。

    螢幕擷取畫面,其中顯示 [啟動串流分析工作] 頁面。

  12. 接著,您會看到已使用無程式碼編輯器建立的所有串流分析工作清單。 在兩分鐘內,您的作業會進入 [執行中] 狀態。 選取頁面上的 [重新整理] 按鈕,以查看從 [已建立 -> 啟動中 -> 執行中] 的狀態變更。

    螢幕擷取畫面,其中顯示串流分析工作清單。

在 Azure Data Lake Storage Gen 2 帳戶中檢視輸出

  1. 找出您已在上一個步驟中使用的 Azure Data Lake Storage Gen2 帳戶。

  2. 選取您已在上一個步驟中使用的容器。 您將會看到根據上一個步驟中所使用的 {date}/{time} 路徑模式而建立的 parquet 檔案。

    此螢幕擷取畫面顯示 Azure Data Lake Storage Gen 2 中擷取的 parquet 檔案。

使用 Azure Synapse Analytics 查詢以 Parquet 格式所擷取的資料

使用 Azure Synapse Spark 進行查詢

  1. 找出您的 Azure Synapse Analytics 工作區,然後開啟 Synapse Studio。

  2. 如果工作區中還沒有無伺服器 Apache Spark 集區,則請在工作區中建立無伺服器 Apache Spark 集區

  3. 在 Synapse Studio 中,移至 [開發] 中樞內,然後建立新的 [筆記本]。

  4. 建立新的程式碼儲存格,並在該儲存格中貼上下列程式碼。 將 containeradlsname 取代為上一個步驟中使用的容器名稱和 ADLS Gen2 帳戶。

    %%pyspark
    df = spark.read.load('abfss://container@adlsname.dfs.core.windows.net/*/*/*.parquet', format='parquet')
    display(df.limit(10))
    df.count()
    df.printSchema()
    
  5. 針對工具列上的 [附加至 ],從下拉式清單中選取您的 Spark 集區。

  6. 選取 [全部執行] 以查看結果

    螢幕擷取畫面:Azure Synapse Analytics 中的 Spark 執行結果。

使用 Azure Synapse 無伺服器 SQL 進行查詢

  1. 在 [開發] 中樞內,建立新的 [SQL 指令碼]。

    顯示 [開發] 頁面的螢幕擷取畫面,其中已選取新的 SQL 腳本功能表。

  2. 貼上下列指令碼,並使用「內建」無伺服器 SQL 端點來 [執行] 該指令碼。 將 containeradlsname 取代為上一個步驟中使用的容器名稱和 ADLS Gen2 帳戶。

    SELECT
        TOP 100 *
    FROM
        OPENROWSET(
            BULK 'https://adlsname.dfs.core.windows.net/container/*/*/*.parquet',
            FORMAT='PARQUET'
        ) AS [result]
    

    螢幕擷取畫面:Azure Synapse Analytics 中的 SQL 指令碼結果。

清除資源

  1. 找出您的事件中樞執行個體,並查看 [處理資料] 區段下的串流分析作業清單。 停止任何正在執行的作業。
  2. 移至部署 TollApp 事件產生器時所使用的資源群組。
  3. 選取 [刪除資源群組]。 輸入資源群組名稱以確認刪除。

後續步驟

在本教學課程中,您已了解如何使用無程式碼編輯器來建立串流分析工作,以 Parquet 格式擷取事件中樞資料串流。 接著,您已使用 Azure Synapse Analytics,同時使用 Synapse Spark 和 Synapse SQL 來查詢 parquet 檔案。