创建ORC结果表
ORC(Optimized Row Columnar)是Hadoop生态圈中的一种列式存储格式。ORC产生于2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。和Parquet类似,它并不是一个单纯的列式存储格式,仍然是先根据行组分割整个表,在每一个行组内进行按列存储。ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩,以降低存储空间的消耗。目前ORC也被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两种文件系统。 |
writeMode | 无 | 默认为None |
compressionCodecName | 压缩格式 | 无 |
本文转自实时计算——
创建ORC结果表