简述

Apache Orc Format 允许读写 ORC 数据。

示例

  • 使用 Filesystem connector 和 Orc format 创建表

    CREATE TABLE user_behavior (
    user_id BIGINT,
    item_id BIGINT,
    category_id BIGINT,
    behavior STRING,
    ts TIMESTAMP(3),
    dt STRING
    ) PARTITIONED BY (dt) WITH (
    'connector' = 'filesystem',
    'path' = '/tmp/user_behavior',
    'format' = 'orc'
    )

    Format 参数

    参数 是否必选 默认值 类型 描述
    format
    必选 (none) String 指定要使用的格式,这里应该是 'orc'。
  • Orc 格式也支持来源于 Table properties 的表属性。 举个例子,你可以设置 orc.compress=SNAPPY 来允许spappy压缩。

数据类型映射

  • Orc 格式类型的映射和 Apache Hive 是兼容的。下面的表格列出了 Flink 类型的数据和 Orc 类型的数据的映射关系。
Flink 数据类型 Orc 物理类型 Orc 逻辑类型
CHAR bytes CHAR
VARCHAR bytes VARCHAR
STRING bytes STRING
BOOLEAN long BOOLEAN
BYTES bytes BINARY
DECIMAL decimal DECIMAL
TINYINT long BYTE
SMALLINT long SHORT
INT long INT
BIGINT long LONG
FLOAT double FLOAT
DOUBLE double DOUBLE
DATE long DATE
TIMESTAMP timestamp TIMESTAMP
  • 复合数据类型: 数组、 映射和行类型暂不支持。