使用串流分析無程式碼編輯器,篩選並內嵌至 Azure Data Lake Storage Gen2

本文描述如何使用無程式碼編輯器,輕鬆建立串流分析作業。 其會持續從事件中樞讀取、篩選傳入的資料,然後持續將結果寫入Azure Data Lake Storage Gen2。

必要條件

  • 您的 Azure 事件中樞資源必須可公開存取,且不可位於防火牆後方或在 Azure 虛擬網路中受保護。
  • 事件中樞中的資料必須以 JSON、CSV 或 Avro 格式序列化。

開發串流分析作業以篩選並內嵌即時資料

  1. 在 Azure 入口網站中,找出並選取 Azure 事件中樞執行個體。

  2. 選取 [功能]>[處理資料],並於 [篩選並嵌入至 ADLS Gen2] 卡片上選取 [開始]。
    顯示 [篩選並嵌入至 ADLS Gen2] 卡片並選擇 [開始] 的螢幕截圖。

  3. 輸入串流分析作業的名稱,然後選取 [建立]。
    顯示輸入作業名稱位置的螢幕快照。

  4. 在 [事件中樞] 視窗中指定資料的 [序列化] 類型,以及作業要用於連線至事件中樞的 [驗證方法]。 然後選取 [連線]。
    此螢幕快照顯示您選取 [串行化和驗證方法] 的事件中樞區域。

  5. 如果建立連線成功,且有資料流量流向事件中樞執行個體,便可立即看到兩個項目:

    1. 輸入資料中的欄位。 您可選擇 [新增欄位],或選取每個欄位旁的三個點符號,以移除、重新命名或變更其類型。
      顯示您可以在何處新增欄位或移除、重新命名或變更欄位類型的螢幕快照。
    2. 在圖表檢視下方的 [資料預覽] 表格中顯示的即時輸入資料範例。 此項目會自動定期重新整理。 您可選取 [暫停串流預覽],以查看範例輸入資料的靜態檢視。
      顯示 [數據預覽] 索引標籤上範例數據的螢幕快照。
  6. 選取 [篩選] 圖格。 在 [篩選] 區域中,選取欄位以篩選具有條件的傳入資料。
    顯示 [篩選] 區域,您可以在其中新增條件式篩選的螢幕快照。

  7. 選取 Azure Data Lake Storage Gen2 磁片。 選取 [Azure Data Lake Gen2] 帳戶以傳送篩選的資料:

    1. 從下拉式功能表中選取 [訂用帳戶]、[儲存體帳戶名稱] 和 [容器]。
    2. 選取 [訂用帳戶] 之後,系統應會自動填入 [驗證方法] 和 [儲存體帳戶金鑰]。 選取 Connect。
      如需欄位的詳細資訊,以及查看路徑模式的範例,請參閱 Azure 串流分析的 Blob 儲存體和 Azure Data Lake Gen2 輸出。
      顯示 Azure Data Lake Gen2 Blob 容器聯機組態設定的螢幕快照。
  8. 您也可選取 [取得靜態預覽/重新整理靜態預覽],查看從 Azure Data Lake Storage Gen2 內嵌的資料預覽。
    顯示數據預覽和重新整理靜態預覽選項的螢幕快照。

  9. 選取 [儲存],並選取 [啟動] 串流分析作業。
    顯示 [儲存] 和 [開始] 選項作業的螢幕快照。

  10. 若要啟動作業,請指定作業執行時所使用串流單位 (SU) 的數目。 SU 代表配置給作業的計算和記憶體數量。 建議先使用三個,再視需要調整。

  11. 選取 [啟動] 之後,作業會在兩分鐘內開始執行,且計量會在下方的索引標籤區段中開啟。

    顯示 [開始串流分析作業] 視窗的螢幕快照。

    您可以在 [串流分析作業] 索引標籤的 [處理資料] 區段下查看作業。選取 [重新整理] 直到您看到作業狀態為 [執行中]。 選取 [開啟計量] 以進行監視,或視需要停止並重新啟動。

    顯示 [串流分析作業] 索引標籤的螢幕快照。

    以下是範例 測量指標 頁面:

    顯示 [計量] 頁面的螢幕快照。

確認 Data Lake Storage 中的資料

  1. 您應該會看到建立在您所指定容器中的檔案。

    此螢幕快照顯示 Azure Data Lake Storage 中已篩選數據的已產生檔案。

  2. 下載並開啟檔案,以確認您只看到篩選過的資料。 在下列範例中,您會看到 [SwitchNum] 設定為 [US] 的資料。

    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"548","SwitchNum":"US","CallingNum":"345697969","CallingIMSI":"466921402416657","CalledNum":"012332886","CalledIMSI":"466923101048691","DateS":"20220524","TimeType":0,"CallPeriod":0,"ServiceType":"S","Transfer":0,"OutgoingTrunk":"419","MSRN":"1416960750071","callrecTime":"2022-05-25T02:07:10Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:09.5140000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"552","SwitchNum":"US","CallingNum":"012351287","CallingIMSI":"262021390056324","CalledNum":"012301973","CalledIMSI":"466922202613463","DateS":"20220524","TimeType":3,"CallPeriod":0,"ServiceType":"V","Transfer":0,"OutgoingTrunk":"442","MSRN":"886932428242","callrecTime":"2022-05-25T02:07:13Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:12.7350000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"559","SwitchNum":"US","CallingNum":"456757102","CallingIMSI":"466920401237309","CalledNum":"345617823","CalledIMSI":"466923000886460","DateS":"20220524","TimeType":1,"CallPeriod":696,"ServiceType":"V","Transfer":1,"OutgoingTrunk":"419","MSRN":"886932429155","callrecTime":"2022-05-25T02:07:22Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:21.9190000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    

使用事件中樞地理複寫功能時的考量

「Azure 事件中樞」最近在公開預覽版中推出了 Geo-Replication(地理複寫) 功能。 這項功能與 Azure 事件中樞的異地災害復原功能不同。

當容錯移轉類型為強制且複寫一致性為非同步時,串流分析作業不保證能以「恰好一次」的方式輸出至 Azure 事件中樞的輸出。

Azure 串流分析作為產生者且事件中樞為輸出時,可能會在容錯轉移期間和事件中樞節流期間觀察到作業的浮水印延遲,尤其當主要與次要之間的複寫延遲達到設定的延遲上限時。

Azure 串流分析作為取用者且事件中樞為輸入時,可能會在容錯轉移期間觀察到作業的浮水印延遲,而且在容錯轉移完成後可能會略過資料或發現重複的資料。

由於上述這些限制,請在事件中樞容錯移轉完成後,立即以適當的開始時間重新啟動串流分析作業。 另外,因為 Event Hubs 的地理複製功能目前還在公開預覽階段,目前不要用這個模式來處理生產的 Stream Analytics 工作。 在事件中樞異地復寫功能正式推出之前,目前的串流分析行為將會改善,並可用於串流分析生產作業。

下一步

深入了解 Azure 串流分析,以及如何監視所建立的作業。