创建 ORC 源表
ORC(Optimized Row Columnar)是一种Hadoop生态圈中的列式存储格式。产生于2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储。ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于ORC目前没有支持,仍然使用Parquet作为主要的列式存储格式。2015年ORC项目被Apache项目基金会提升为Apache顶级项目。
DDL定义
Flink支持使用ORC格式文件作为输入源,示例代码如下:
create table orc_source(
id int,
user_name VARCHAR,
content VARCHAR,
primary key(id)
) with (
type='orc',
filePath='hdfs://hdfshome/orcpath/test'
);
WITH参数
参数 | 注释说明 | 备注 |
---|---|---|
filePath | 文件路径 | 目前支持hdfs、oss两种文件系统。 |
enumerateNestedFiles | 递归读取目录下的所有文件 | true - 递归读取目录下所有文件。默认为false。 |
本文转自实时计算——
创建ORC源表