hive文件的存储格式:textfile、sequencefile、rcfile、自定义格式
1. textfile
textfile,即是文本格式,默认格式,数据不做压缩,磁盘开销大,数据解析开销大
对应hive API为org.apache.hadoop.mapred.TextInputFormat和org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat。
2.sequencefile
sequencefile,是Hadoop提供的一种二进制文件格式是Hadoop支持的标准文件格式(其他生态系统并不适用),
可以直接将对序列化到文件中,所以sequencefile文件不能直接查看,可以通过Hadoop fs -text查看。
具有使用方便,可分割,可压缩,可进行切片。压缩支持NONE, RECORD, BLOCK(优先)等格式,可进行切片。
对应hive API为org.apache.hadoop.mapred.SequenceFileInputFormat和org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat。
3.rcfile
大多数的Hadoop和hive存储是行式储存,在大多数环境下比较高效,因为大多数表具有的字段个数都不会很大,
且文件按块压缩对于需要处理重复数据的情况比较高效,同时处理和调试工具(more、head、awk)都能很好的适应行式存储的数据。