結構化串流概念
本文章提供 Azure Databricks 結構化串流的簡介。
何謂結構化串流?
Apache Spark 結構化串流是一種近即時的處理引擎,可使用熟悉的 Spark API,提供端對端容錯與一次處理保證。 結構化串流可讓您以對靜態資料表示批次運算的相同方式,在串流資料上表示計算。 結構化串流引擎會以累加方式執行計算,並在串流資料送達時持續更新結果。
從資料流讀取
您可以使用結構化串流,以累加方式從支援的資料來源內嵌資料。 常見的資料來源包括:
- 雲端物件記憶體中的資料檔案。 請參閱 什麼是自動載入器?。
- 訊息匯流排和佇列。 請參閱 <設定串流資料來源>。
- Delta Lake。 請參閱 Delta table 串流讀取與寫入。
每個資料來源都提供一些選項,以指定如何載入批次的資料。 在讀取器設定期間,您可能需要設定選項來執行下列動作:
- 指定資料來源或格式(例如檔案類型、分隔符和 schema)。
- 設定來源系統的存取權(例如埠設定和 credentials)。
- 指定要在數據流中啟動 where(例如 Kafka 位移或讀取所有現有的檔案)。
- 控制每個批次中處理的資料(例如,每個批次的最大位移、檔案或位元組)。 請參閱 《在 Azure Databricks上設定結構化串流批次大小》。
將資料寫入資料接收器
資料接收器是串流寫入運算的目標。 Azure Databricks 串流工作負載中使用的常見接收器包括下列:
- Delta Lake
- 訊息匯流排和佇列
- 關鍵值資料庫
與資料來源一樣,大部分的資料接收器都會提供數個選項來控制資料寫入目標系統的方式。 在寫入器設定期間,您可以指定下列選項:
- 輸出模式(預設為附加)。 請參閱 Select 結構化串流的輸出模式。
- 檢查點位置(每個寫入器都需要)。 請參閱結構化串流檢查點。
- 觸發間隔。 請參閱《設定結構化串流觸發程序間隔》 (機器翻譯)。
- 指定數據匯流端或格式的選項(例如檔案類型、分隔符和 schema)。
- 設定目標系統的存取權的選項(例如埠設定和 credentials)。