結構化流的生產考慮因素

您可以使用Structured Streaming on Databricks輕鬆配置生產增量處理工作負載,以滿足實時或批處理應用程序的延遲和成本要求。理解結構化數據流的關鍵概念可以幫助您在擴展數據量和速度以及從開發轉向生產時避免常見的陷阱。

Databricks推出了Delta Live表,以降低管理結構化流工作負載的生產基礎設施的複雜性。Databricks建議在新的結構化流管道中使用Delta Live table;看到Delta Live Tables簡介

為結構化流工作負載使用筆記本

使用Databricks筆記本進行交互式開發需要將筆記本連接到集群,以便手動執行查詢。您可以使用Databricks筆記本進行自動部署和從查詢失敗中自動恢複工作流

您可以在交互式開發期間在筆記本中可視化結構化流查詢,或用於交互式監視生產工作負載。如果有人定期監視筆記本的輸出,則應該隻在生產中可視化Structured Streaming查詢。而觸發而且checkpointLocation參數是可選的,作為最佳實踐Databricks建議您總是在生產環境中指定它們。

控製數據結構化流處理的批量大小和頻率

結構化流在Databricks有增強的選項,以幫助控製成本和延遲,同時與Auto Loader和Delta Lake流。

什麼是有狀態流?

一個有狀態結構化流查詢要求對中間狀態信息進行增量更新無狀態的結構化流查詢隻跟蹤從源到接收器處理了哪些行的信息。

有狀態操作包括流聚合、流dropDuplicates,溪流-溪流連接,mapGroupsWithState,flatMapGroupsWithState

如果配置不當,有狀態結構化流查詢所需的中間狀態信息可能會導致意外的延遲和生產問題。