資料擷取是將資料新增至資料表並可供即時智慧中查詢的過程。 對於除了 ingest-from-query 之外的所有擷取方法,資料都必須採用支援的格式之一。 下表列出並描述了即時智慧支援的資料擷取格式。
注意
內嵌資料前,請確定您的資料已正確格式化,並定義預期的欄位。 建議您使用慣用的驗證程式來確認格式是否有效。 例如,您可能看到下列驗證程式適合檢查 CSV 或 JSON 檔案:
- CSV:http://csvlint.io/
- JSON:https://jsonlint.com/
如需進一步了解擷取可能失敗的原因,請參閱擷取失敗。
| 格式 | 擴充功能 | 描述 |
|---|---|---|
| ApacheAvro | .avro |
支援邏輯類型的 AVRO 格式。 目前支援下列壓縮轉碼器:null、deflate和snappy。
apacheavro格式的讀取器實作是基於官方的 Apache Avro 程式庫。 如需了解如何擷取 Event Hubs Capture Avro 檔案的資訊,請參閱 Event Hubs Capture Avro 檔案的結構描述對應。 |
| Avro | .avro |
AVRO 格式的舊版實作是基於 .NET 程式庫。 目前支援下列壓縮轉碼器:null、deflate (snappy - 使用ApacheAvro資料格式)。 |
| CSV | .csv |
具有逗號分隔值的文字檔 (,)。 請參考RFC 4180:適用於逗點分隔值 (CSV) 檔案的一般格式和 MIME 類型。 |
| JSON | .json |
內含以 \n 或 \r\n 分隔的 JSON 物件的文字檔。 請參閱 JSON Lines (JSONL)。 |
| MultiJSON | .multijson |
文字檔,其中包含屬性包的 JSON 陣列 (每個屬性包都代表一筆記錄),或任意多個以空白字元分隔的屬性包,\n 或 \r\n。 每個屬性包都可以分成多行。 除非資料屬於非屬性包,否則相較於 JSON,較優先採用此格式。 |
| ORC | .orc |
ORC 檔案。 |
| Parquet | .parquet |
一個 Parquet 檔案。 |
| PSV | .psv |
包含以直線符號 (|) 分隔值的文字檔案 (|)。 |
| RAW | .raw |
其整個內容為單一字串值的文字檔。 |
| SCsv | .scsv |
具有分號分隔值 (;) 的文字檔。 |
| SOHsv | .sohsv |
具有 SOH 分隔值的文字檔。 (SOH 是 ASCII 字碼指標 1;此格式是由 HDInsight 上的 Hive 使用)。 |
| TSV | .tsv |
包含定位點分隔值 (\t) 的文字檔。 |
| TSVE | .tsv |
含有定位點分隔值 (\t) 的文字檔。 反斜線字元 (\) 用於逸出。 |
| TXT | .txt |
以 \n 分隔各行的文字檔。 空白行會被略過。 |
| W3CLOGFILE | .log |
W3C 標準化的 Web 記錄檔格式。 |
注意
- 不支援從在一般 Parquet 格式檔案之上提供 ACID 功能的資料儲存系統擷取資料(例如 Apache Iceberg、Apache Hudi)。
- 不支援無架構 Avro
支援的資料壓縮格式
Blob 和檔案可使用下列任一壓縮演算法進行壓縮:
| 壓縮 | 擴充功能 |
|---|---|
| GZip | .gz |
| 郵遞區號 | .zip |
在 Blob 或檔案名稱後附加副檔名,以表示壓縮。
例如:
-
MyData.csv.zip表示 blob 或檔案為 CSV 格式,並以 ZIP 壓縮(封存檔或單一檔案) -
MyData.json.gz表示格式為 JSON 且經過 GZip 壓縮的 blob 或檔案。
也支援不包含格式副檔名、僅包含壓縮副檔名的 Blob 或檔案名稱(例如:MyData.zip)。 在此情況下,您必須將檔案格式指定為擷取屬性,因為無法加以推斷。
注意
- 某些壓縮格式會將原始檔案的副檔名記錄為壓縮資料流的一部分。 通常會忽略此副檔名來判斷檔案格式。 如果無法從 (壓縮的) Blob 或檔案名稱判斷檔案格式,則必須透過
format擷取屬性來指定。 - 請勿與
Parquet、AVRO和ORC格式使用的內部 (區塊層級) 壓縮編解碼器混淆。 內部壓縮名稱通常在檔案格式副檔名前加上檔案名稱,例如:file1.gz.parquet、file1.snappy.avro等。
ZIP 壓縮檔錯誤處理
如果 ZIP 壓縮檔可讀取,但其中部分檔案項目為空白或有問題,請將 archiveBestEffortingestion property 設為 true,以便繼續處理其餘項目,而不是讓擷取程序失敗。
注意
當 archiveBestEffort 設定為 true時,成功擷取並不保證壓縮檔中的所有檔案都被擷取。
此特性僅適用於可讀 ZIP 壓縮檔中的個別條目。 它不會修復無效的 ZIP 容器,也不會改變支援的壓縮方法。