帮你快速理解、总结文档立即下载

ORC 格式

最近更新时间:2026-09-28 11:00:00
我的收藏

概述

ORC 为优化行列存储格式,文件内自带 schema,读取时自动解析字段名与字段类型,无需用户声明。同一任务读取的所有 ORC 文件须适配同一套 schema。本文介绍 ORC 格式在 DataBuddy 数据接入中的支持能力、参数设置与类型转换规则。

支持的能力

能力
支持情况
说明
支持的数据源
文件类数据源在数据同步模式下可选择 ORC
离线同步(读 / 写)
✓ / -
支持读取 ORC 文件作为离线同步任务的源端;DataBuddy 数据源仅支持接入读取,不支持写入
实时同步(读 / 写)
- / -
不支持以 ORC 格式进行实时同步

支持的参数设置

以下为任务级参数,在数据同步模式下配置于任务的读取节点。
参数
说明
是否必填
默认值
文件类型
选择 ORC
是
TXT
压缩格式
none / deflate / gzip / bzip2 / lz4 / snappy;snappy 仅支持 hadoop-snappy 与 framing-snappy 两种 stream format
是
none
说明:
ORC 自带 schema,字段分隔符、行分隔符、Quote character、跳过表头、字段声明不适用,不在任务中展示。
ORC 文件内部的压缩方式由写入端决定,读取时自动识别;任务中的压缩格式参数需与文件实际的外层压缩方式一致。

支持的类型转换

读取 ORC 文件自带的 schema 并按下表映射。
映射结果进入字段映射组件,支持手工调整目标字段与类型。
ORC 类型
映射后类型
INT / SMALLINT
INT
BIGINT / LONG
BIGINT
FLOAT
FLOAT
DOUBLE
DOUBLE
DECIMAL(p,s)
DECIMAL(p,s)
BOOLEAN
BOOLEAN
STRING / VARCHAR / CHAR
STRING
DATE
DATE
TIMESTAMP
TIMESTAMP
BINARY
BINARY
ARRAY / MAP / STRUCT
STRING(按 JSON 字符串读取)
说明:
嵌套类型(ARRAY / MAP / STRUCT)按 JSON 字符串读取,不做结构展开。如需展开嵌套字段,请在目标端进行二次处理。

常见问题

Q:需要手工填写字段名和字段类型吗?

A:不需要。ORC 文件自带 schema,读取时自动解析字段名与字段类型;如需调整,可在字段映射组件中手工修改目标字段与类型。

Q:嵌套类型如何处理?

A:ARRAY / MAP / STRUCT 按 JSON 字符串读取,不做结构展开。如需展开嵌套字段,请在目标端进行二次处理。

Q:压缩格式参数与 ORC 文件内部的压缩有什么关系?

A:ORC 文件内部的压缩方式由写入端决定,读取时自动识别;任务中的压缩格式参数需与文件实际的外层压缩方式保持一致。

Q:同一个任务读取多个 schema 不一致的 ORC 文件会怎样?

A:同一任务读取的所有文件须适配同一套 schema,schema 冲突的记录会进入脏数据处理链路。

Q:为什么没有字段分隔符、行分隔符、Quote character、跳过表头的配置?

A:ORC 自带 schema,以上按分隔符切分与字段声明的参数不适用,因此不在任务中展示。

相关文档

其他文件格式说明:TXT、CSV、JSON、Parquet。