创建一个表时可以指定文件存储格式,默认格式是textfile,还有其他sequencefile,rcfile格式 ===== textfile ===== * textfile为默认格式 * 存储方式:行存储 * 磁盘开销大 数据解析开销大 * 压缩的text文件 hive无法进行合并和拆分 ===== sequencefile ===== * 二进制文件,以的形式序列化到文件中 * 存储方式:行存储 * 可分割 压缩 * 一般选择block压缩 * 优势是文件和hadoop api中的mapfile是相互兼容的。 ===== rcfile ===== * 存储方式:数据按行分块 每块按照列存储 * 压缩快 快速列存取 * 读记录尽量涉及到的block最少 * 读取需要的列只需要读取每个row group 的头部定义。 * 读取全量数据的操作 性能可能比sequencefile没有明显的优势 当只访问某个列时,速度非常快,亲测