教學課程:以 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 執行個體。

    Screenshot showing the selection of the event hub.

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

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

    Screenshot showing the selection of the **Capture data to ADLS Gen2 in Parquet format** tile.

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

    Screenshot of the New Stream Analytics job page.

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

    • 取用者群組:預設值

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

    • 工作將用來連線至事件中樞的「驗證模式」:連接字串。

      Screenshot of the configuration page for your event hub.

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

    Screenshot showing the fields and preview of data.

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

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

    Screenshot showing the configuration settings for the Data Lake Storage.

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

    Screenshot showing the Start Stream Analytics Job page.

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

    Screenshot showing the list of Stream Analytics jobs.

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

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

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

    Screenshot showing the captured parquet files in Azure Data Lake Storage Gen 2.

使用 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. 選取 [全部執行] 以查看結果

    Screenshot of spark run results in Azure Synapse Analytics.

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

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

    Screenshot showing the Develop page with new SQL script menu selected.

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

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

    Screenshot of SQL script results in Azure Synapse Analytics.

清除資源

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

下一步

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