使用串流分析無程式碼編輯器,篩選並內嵌至 Azure Data Lake Storage Gen2
本文描述如何使用無程式碼編輯器,輕鬆建立串流分析作業。 其會持續從事件中樞讀取、篩選傳入的資料,然後持續將結果寫入Azure Data Lake Storage Gen2。
必要條件
- 您的 Azure 事件中樞資源必須可公開存取,且不可位於防火牆後方或在 Azure 虛擬網路中受保護。
- 事件中樞中的資料必須以 JSON、CSV 或 Avro 格式序列化。
開發串流分析作業以篩選並內嵌即時資料
在 Azure 入口網站中,找出並選取 Azure 事件中樞執行個體。
在 [事件中樞] 視窗中指定資料的 [序列化] 類型,以及作業要用於連線至事件中樞的 [驗證方法]。 然後選取 [連線]。
如果建立連線成功,且有資料流量流向事件中樞執行個體,便可立即看到兩個項目:
選取 [Azure Data Lake Storage Gen2] 圖格。 選取 [Azure Data Lake Gen2] 帳戶以傳送篩選的資料:
- 從下拉式功能表中選取 [訂用帳戶]、[儲存體帳戶名稱] 和 [容器]。
- 選取 [訂用帳戶] 之後,系統應會自動填入 [驗證方法] 和 [儲存體帳戶金鑰]。 選取 Connect。
如需欄位的詳細資訊,以及查看路徑模式的範例,請參閱 Azure 串流分析的 Blob 儲存體和 Azure Data Lake Gen2 輸出。
您也可選取 [取得靜態預覽/重新整理靜態預覽],查看從 Azure Data Lake Storage Gen2 內嵌的資料預覽。
若要啟動作業,請指定作業執行時所使用串流單位 (SU) 的數目。 SU 代表配置給作業的計算和記憶體數量。 建議先使用三個,再視需要調整。
選取 [啟動] 之後,作業會在兩分鐘內開始執行,且計量會在下方的索引標籤區段中開啟。
您可以在 [串流分析作業] 索引標籤的 [處理資料] 區段下查看作業。選取 [重新整理] 直到您看到作業狀態為 [執行中]。 選取 [開啟計量] 以進行監視,或視需要停止並重新啟動。
以下是範例 [計量] 頁面:
確認 Data Lake Storage 中的資料
您應該會看到建立在您所指定容器中的檔案。
下載並開啟檔案,以確認您只看到篩選過的資料。 在下列範例中,您會看到 [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 事件中樞 最近啟動公開預覽版中的異地復寫功能。 這項功能與 Azure 事件中樞的異地災害復原功能不同。
當故障轉移類型為強制且復寫一致性為異步時,串流分析作業不保證輸出至 Azure 事件中樞 輸出。
Azure 串流分析,作為 具有事件中樞輸出的產生者 ,可能會在故障轉移期間和事件中樞節流期間觀察到作業的浮水印延遲,以防主要和次要之間的複寫延遲達到設定的延遲上限。
Azure 串流分析,作為 事件中樞作為輸入的取用者 ,可能會在故障轉移期間觀察作業的浮浮水印延遲,而且可能會在故障轉移完成後略過數據或尋找重複的數據。
由於這些注意事項,建議您在事件中樞故障轉移完成之後,立即以適當的開始時間重新啟動串流分析作業。 此外,由於事件中樞異地復寫功能處於公開預覽狀態,因此目前不建議將此模式用於生產串流分析作業。 在事件中樞異地復寫功能正式推出之前,目前的串流分析行為將會改善,並可用於串流分析生產作業。
下一步
深入了解 Azure 串流分析,以及如何監視所建立的作業。