Hive文件格式(表stored as 的五种类型)

hive文件存储格式包括以下几类:

1、TEXTFILE

2、SEQUENCEFILE

3、RCFILE

4、ORCFILE(0.11以后出现)

5、PARQUET

1、其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;

    SEQUENCEFILE,RCFILE,ORCFILE,PARQUET格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入SequenceFile,RCFile,ORCFile,PARQUET表中;或者用复制表结构及数据的方式(create table as select * from table )。

textfile

默认格式;

存储方式为行存储;

磁盘开销大 数据解析开销大;

但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。

2、sequencefile

二进制文件,以<key,value>的形式序列化到文件中;
存储方式:行存储;
可分割 压缩;
一般选择block压缩;
优势是文件和Hadoop api中的mapfile是相互兼容的

3、refile

存储方式:数据按行分块 每块按照列存储;
压缩快 快速列存取;
读记录尽量涉及到的block最少;
读取需要的列只需要读取每个row group 的头部定义;
读取全量数据的操作 性能可能比sequencefile没有明显的优势,

4、orcfile

存储方式:数据按行分块 每块按照列存储;

压缩快 快速列存取;

效率比rcfile高,是rcfile的改良版本。

5、parquet 
类似于orc,相对于orc文件格式,hadoop生态系统中大部分工程都支持parquet文件。

 转自:https://blog.csdn.net/weixin_43599377/article/details/106457294?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

 
上一篇:谈一谈c/c++程序的内存布局


下一篇:MySQL中关于存储过程和函数的操作