使用串流分析無程式碼編輯器,在 Azure SQL 資料庫中轉換和儲存資料
本文說明如何使用無程式碼編輯器輕鬆建立串流分析作業,該作業會持續從事件中樞執行個體 (事件中樞) 讀取資料、轉換資料,然後將結果寫入 Azure SQL 資料庫。
必要條件
您的 Azure 事件中樞和 Azure SQL Database 資源必須可公開存取,且不可位於防火牆後方或在 Azure 虛擬網路中受保護。 事件中樞中的資料必須以 JSON、CSV 或 Avro 格式序列化。
如果您想要嘗試本文中的步驟,請遵循下列步驟。
如果您還沒有事件中樞,請建立事件中樞。 在事件中樞中產生資料。 在 [事件中樞執行個體] 頁面上,選取左側功能表上的 [產生資料 (預覽)],接著選取 [資料集] 的 [庫存資料],然後選取 [傳送] 將一些範例資料傳送至事件中樞。 如果您想要測試本文中的步驟,則需要此步驟。
建立 Azure SQL Database。 以下是建立資料庫時要注意的一些重點。
在 [基本] 頁面上,針對 [伺服器] 選取 [建立新的]。 然後,在 [建立 SQL Database 伺服器] 頁面上,選取 [使用 SQL 驗證],然後指定管理使用者識別碼和密碼。
在 [網路] 頁面上,遵循下列步驟:
- 啟用 [公用端點]。
- 在 [允許 Azure 服務和資源存取此伺服器] 上,選取 [是]。
- 針對 [新增目前的用戶端 IP 位址] 選取 [是]。
在 [其他設定] 頁面上,選取 [無] 以 [使用現有的資料]。
在本文中,請跳過查詢資料庫和清除資源一節中的 步驟。
如果您想要測試步驟,請使用查詢編輯器 (預覽),在 SQL 資料庫中建立資料表。
create table stocks ( symbol varchar(4), price decimal )
使用無程式碼編輯器來建立串流分析作業
在此節中,您會使用無程式碼編輯器建立串流分析作業。 作業會轉換事件中樞執行個體 (事件中樞) 中的資料串流,並將結果資料儲存在 Azure SQL 資料庫中。
在 Azure 入口網站中,瀏覽至事件中樞的 [事件中樞執行個體] 頁面。
選取左側功能表上的 [功能]>[處理資料],然後選取 [轉換] 上的 [開始],並將資料儲存至 SQL 資料庫卡片。
輸入串流分析作業的名稱,然後選取 [建立]。 您會在右側看到 [串流分析] 作業圖表,其中包含 [事件中樞] 視窗。
在 [事件中樞] 視窗中,檢閱 [序列化] 和 [驗證模式] 設定,然後選取 [連線]。
當成功建立連線,且您在事件中樞執行個體中有資料時,您會看到兩個項目:
選取 [群組依據] 圖格以匯總資料。 在 [群組依據] 設定面板中,您可以指定您想要使用 [群組依據] 的欄位以及 [時間] 視窗。
在下列範例中,會使用價格和符號的平均值。
您可以在 [資料預覽] 區段中驗證步驟的結果。
選取 [管理欄位] 圖格。 在 [管理欄位] 組態面板中,選取 [新增欄位] ->[匯入的架構]- > 欄位,以選擇您要輸出的欄位。
如果您想要新增所有欄位,請選取 [新增所有欄位]。 新增欄位時,您可以為輸出指定不同的名稱。 例如,
AVG_Value
變成Value
。 儲存選取項目之後,您會在 [資料預覽] 窗格中看到資料。在下列範例中,會選取 [符號] 和 [AVG_Value]。 [符號] 會對應至符號,而 [AVG_Value] 會對應至價格。
選取 [SQL] 圖格。 在 [SQL Database] 設定面板中,填入所需的參數並連線。 選取 [載入現有的資料表] 以自動挑選資料表。 在以下範例中,已挑選
[dbo].[stocks]
。 然後,選取 [連線]。注意
您選擇寫入的資料表結構描述應完全符合資料預覽所產生的欄位數目及其類型。
在 [資料預覽] 窗格中,您會看到內嵌在 SQL 資料庫中的資料預覽。
選取 [儲存],並選取 [啟動] 串流分析作業。
若要啟動作業,請指定:
選取 [開始] 後,作業會在兩分鐘內開始執行。 您會看到底部窗格中的 [計量] 面板已開啟。 此面板更新時需要一些時間。 選取面板右上角的 [重新整理],以重新整理圖表。 在網頁瀏覽器的個別索引標籤或視窗中繼續進行下一個步驟。
您也可以在 [串流分析作業] 索引標籤的 [處理資料] 區段下看到作業。選取 [開啟計量] 以進行監視,或視需要停止並重新啟動。
在不同的瀏覽器視窗或索引標籤中瀏覽至入口網站中的事件中樞,然後再次傳送範例庫存資料 (如在必要條件中的操作)。 在 [事件中樞執行個體] 頁面上,選取左側功能表上的 [產生資料 (預覽)],接著選取 [資料集] 的 [庫存資料],然後選取 [傳送] 將一些範例資料傳送至事件中樞。 需要幾分鐘的時間才能看到 [計量] 面板已更新。
您應該會看到插入 Azure SQL 資料庫中的記錄。
使用事件中樞異地復寫功能的考慮
Azure 事件中樞 最近啟動公開預覽版中的異地復寫功能。 這項功能與 Azure 事件中樞的異地災害復原功能不同。
當故障轉移類型為強制且復寫一致性為異步時,串流分析作業不保證輸出至 Azure 事件中樞 輸出。
Azure 串流分析,作為 具有事件中樞輸出的產生者 ,可能會在故障轉移期間和事件中樞節流期間觀察到作業的浮水印延遲,以防主要和次要之間的複寫延遲達到設定的延遲上限。
Azure 串流分析,作為 事件中樞作為輸入的取用者 ,可能會在故障轉移期間觀察作業的浮浮水印延遲,而且可能會在故障轉移完成後略過數據或尋找重複的數據。
由於這些注意事項,建議您在事件中樞故障轉移完成之後,立即以適當的開始時間重新啟動串流分析作業。 此外,由於事件中樞異地復寫功能處於公開預覽狀態,因此目前不建議將此模式用於生產串流分析作業。 在事件中樞異地復寫功能正式推出之前,目前的串流分析行為將會改善,並可用於串流分析生產作業。
下一步
深入了解 Azure 串流分析,以及如何監視所建立的作業。