Azure 数据资源管理器支持的用于引入的数据格式

数据引入是指在 Azure 数据资源管理器中将数据添加到表中供查询这一过程。 对于 ingest-from-query 以外的所有引入方法,数据必须采用下述受支持格式中的一种。 下表列出并说明了 Azure 数据资源管理器支持的数据引入格式。

注意

在引入数据之前,请确保数据的格式正确并定义所需字段。 建议使用首选验证程序来确认格式是否有效。 例如,你可能会发现以下验证程序可用于检查 CSV 或 JSON 文件:

有关引入失败的原因的详细信息,请参阅引入失败Azure 数据资源管理器中的引入错误代码

格式 分机 说明
ApacheAvro .avro 一个支持逻辑类型AVRO 格式。 支持以下压缩编解码器:nulldeflatesnappyapacheavro 格式的读取器实现基于官方 apacheavro。 有关引入事件中心捕获 Avro 文件的信息,请参阅 引入事件中心捕获 Avro 文件
Avro .avro 基于 .NET 库AVRO 格式的旧实现。 支持以下压缩编解码器:nulldeflate(对于 snappy,请使用 ApacheAvro 数据格式)。
CSV .csv 一个采用逗号分隔值 (,) 的文本文件。 请参阅 RFC 4180:Common Format and MIME Type for Comma-Separated Values (CSV) Files(RFC 4180:逗号分隔值 (CSV) 文件的常见格式和 MIME 类型)。
JSON .json 一个文本文件,其中包含使用 \n\r\n 分隔的 JSON 对象。 请参阅 JSON Lines (JSONL)
MultiJSON .multijson 一个文本文件,包含一个由属性包(每个包代表一条记录)组成的 JSON 数组,或者包含通过空格、\n\r\n 分隔的任意数目的属性包。 每个属性包可以分布在多个行上。
ORC .orc 一个 ORC 文件
Parquet .parquet 一个 Parquet 文件
PSV .psv 一个采用竖线分隔值 (|) 的文本文件。
RAW .raw 一个文本文件,其整个内容就是一个字符串值。
SCsv .scsv 一个采用分号分隔值 (;) 的文本文件。
SOHsv .sohsv 一个采用 SOH 分隔值的文本文件。 (SOH 为 ASCII 代码点 1;此格式由 Hive on HDInsight 使用。)
TSV .tsv 一个采用制表符分隔值 (\t) 的文本文件。
TSVE .tsv 一个采用制表符分隔值 (\t) 的文本文件。 反斜杠字符 (\) 用于转义。
TXT .txt 一个文本文件,使用 \n 分隔的行。 空行将被跳过。
W3CLOGFILE .log 符合 W3C 标准的 Web 日志文件格式。

备注

  • 不支持从在常规 Parquet 格式文件(例如 Apache Iceberg、Apache Hudi、Delta Lake)之上提供 ACID 功能的数据存储系统中引入数据。

  • 不支持无架构 Avro。

  • 有关使用 jsonmultijson 格式引入数据的详细信息,请参阅本文档

支持的数据压缩格式

可以使用下面的任何压缩算法来压缩 Blob 和文件:

压缩 分机
GZip .gz
Zip .zip

通过将扩展名追加到 Blob 或文件的名称上来指示压缩。

例如:

  • MyData.csv.zip 指示格式化为 CSV 且使用 ZIP 进行压缩的 blob 或文件(存档或单个文件)
  • MyData.json.gz 指示格式化为 JSON 且使用 GZip 进行压缩的 blob 或文件。

不包含格式扩展名而只包含压缩名的 Blob 名或文件名(例如 MyData.zip)也受支持。 在这种情况下,必须将文件格式指定为引入属性,因为不能对它进行推断。

注意

  • 某些压缩格式会在压缩的流中记录原始文件扩展名。 在确定文件格式时,通常会忽略此扩展名。 如果不能根据(压缩的)Blob 或文件的名称确定文件格式,则必须通过 format 引入属性指定它。
  • 不要与 ParquetAVROORC 格式使用的内部(区块级)压缩编解码器混淆。 内部压缩名称通常在文件格式扩展名之前添加,例如:file1.gz.parquetfile1.snappy.avro 等。
  • Deflate64/增强型 Deflate 不支持 Zip 压缩方法。 请注意,Windows 内置 Zip 压缩器可能会选择对大小超过 2GB 的文件使用此压缩方法。