Real-Time Intelligence 支持的数据格式

数据引入是将数据添加到表的过程,可用于在 Real-Time Intelligence 中进行查询。 对于 ingest-from-query 以外的所有引入方法,数据必须采用下述受支持格式中的一种。 下表列出并说明了 Real-Time Intelligence 支持的数据引入格式。

注意

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

如需详细了解引入失败的可能原因,请参阅《引入失败》。

Format 分机 说明
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 分隔的任意数目的属性包。 每个属性包可以分布在多个行上。 此格式优先于 JSON,除非数据为非属性包。
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),还提供 ACID 功能的数据存储系统。
  • 不支持无架构 Avro

支持的数据压缩格式

可以使用下面的任何压缩算法来压缩 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 等。