Azure Databricks 具有 Apache Spark 原生支援之所有數據格式的內建關鍵詞系結。 Azure Databricks 使用 Delta Lake 作為讀取和寫入數據和數據表的預設通訊協定,而 Apache Spark 則使用 Parquet。 以下章節說明在 Azure Databricks 查詢每種資料格式時可用的選項與設定。
大多數格式透過該 compression 選項支援寫入壓縮。 關於每種格式所支援的數值,請參見 DataFrameWriter 選項。 Azure Databricks 也能直接讀取多種格式的預壓縮檔案,必要時也可以在 Azure Databricks 上解壓縮壓縮檔案。
如需 Apache Spark 數據源的詳細資訊,請參閱 一般載入/儲存函 式和 一般檔案來源選項。
開放表格格式
支援 ACID 交易、結構演化及跨引擎互通性的表格格式。
| Format | Description |
|---|---|
| 三角洲湖 | Azure Databricks 上讀寫資料與資料表的預設格式。 |
| 冰山 | 能讀寫 Iceberg 表格,並與外部 Iceberg 引擎互通。 |
| 開放共享 | 使用開放共享協定來讀取共享資料表和資料。 |
列式格式
二進位欄位格式,優化分析讀取效能與壓縮能力。
| Format | Description |
|---|---|
| 拼花地板 | Apache Spark 預設採用欄位格式,具備高效的壓縮與編碼功能。 |
| ORC | 一種欄位格式,內建壓縮功能,並支援輕量級索引。 |
基於文字的格式
具備彈性或演進結構的人類可讀格式,用於交換、設定及記錄。
| Format | Description |
|---|---|
| JSON | 讀取與寫入 JSON 檔案,包括多行記錄與結構推論選項。 |
| CSV | 可讀取及寫入分隔符號文字檔案,並可設定標頭、分隔符號及格式異常記錄的選項。 |
| XML | 透過指定列標籤與結構來讀寫 XML 檔案。 |
| 文字 | 一次一行或一檔地閱讀和寫入純文字檔案。 |
二進位與專用格式
二進位序列化格式與 Azure Databricks 專屬資料來源。
| Format | Description |
|---|---|
| Avro | 讀取與寫入 Avro 檔案,並在串流中處理 Avro 編碼的載荷。 |
| MLflow 實驗 | 載入 MLflow 實驗,使用自訂 mlflow-experiment 關鍵字執行資料。 |
非結構化數據
用於儲存與處理文件、影像、音訊及其他非結構化檔案的格式與類型。
| Format | Description |
|---|---|
| 處理非結構化資料 | 儲存、管理及處理非結構化資料,如文件、影像和音訊。 |
| 二進制 | 將檔案讀取為原始二進位記錄,包括影像及其他非結構化資料。 |
| 圖像 | 載入機器學習工作負載的影像資料。 Databricks 建議將圖片載入為 binary 資料。 |
| 檔案 | 儲存對非結構化檔案的受控參照,而不要使用 BINARY 或 STRING。 |
| 以檔案類型來導入檔案 | 使用 SQL、表值函式及 Auto Loader,將非結構化檔案作為 FILE 參照匯入資料表。 |
| 帶有 UDF 的程序檔案 | 讀取檔案位元組、擷取影像與影片元資料,並產生帶有 UDF 的衍生檔案。 |
| FILE 函式快速啟動 | 開始了解 Databricks SQL 和 Databricks Runtime 中的 FILE 型別及其函式。 |
半結構化數據
湖屋中用於處理巢狀與半結構化資料的模式與函式。
| Format | Description |
|---|---|
| 模型半結構化資料 | 你可以選擇 Variant、JSON 字串、結構體和映射來儲存半結構化資料。 |
| 變數 | 以 類型 VARIANT 儲存半結構化資料,用於最佳化的讀寫。 |
| 轉換複雜的資料類型 | 在 Apache Spark 中處理結構、陣列和貼圖。 |
| 較高順序的函式 | 利用內建的高階函數轉換陣列與映射。 |