hive 存储格式及压缩】的更多相关文章

-- 设置参数 set hivevar:target_db_name=db_dw; use ${hivevar:target_db_name}; -- 创建textfile表 create table file_format_textfile row format delimited fields terminated by '\001' stored as textfile as select * from smple_table; -- 测试各种压缩的orc表 create table fi…
我在整理Hive的存储格式和压缩格式,本来打算一篇发出来,结果其中一小节就有很多内容,于是打算写成Hive存储格式和压缩格式系列. 本节主要讲一下Hive存储格式最早的典型的列式存储格式RCFile. 综述 RCFile(Record Columnar File)文件格式是FaceBook开源的一种Hive的文件存储格式,遵循"首先水平分区,然后垂直分区"的设计理念.首先将数据水平分为几个行组,这样每一行数据就可以保证存储在同一个集群节点,然后对每个行组内数据进行垂直划分,按列存储.…
目录 概述 文件存储结构 Stripe Index Data Row Data Stripe Footer 两个补充名词 Row Group Stream File Footer 条纹信息 列统计 元数据 类型信息 复杂数据类型 Postscript 数据读取 位置指针 三层过滤 文件级 Stripe级 Row 级 数据读取 索引 行组索引 布隆过滤器 事务支持 压缩 内存管理 Hive中使用ORC Hive使用 Hive参数设置 概述 本文基于上一篇文章 Hive存储格式之RCFile详解,R…
目录 一.编译 二.相关配置 三.为LZO文件创建索引 四.Hive为LZO文件建立索引 1.hive创建的lzo压缩的分区表 2.给.lzo压缩文件建立索引index 3.读取Lzo文件的注意事项(重要) 一.编译 hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件.hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下. 0. 环境准备 maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像) gcc-c++ zl…
合理使用文件存储格式 建表时,尽量使用 orc.parquet 这些列式存储格式,因为列式存储的表,每一列的数据在物理上是存储在一起的,Hive查询时会只遍历需要列数据,大大减少处理的数据量. 采用合适的文件压缩 Hive最终是转为 MapReduce 程序来执行的,而 MapReduce 的性能瓶颈在于网络 IO 和 磁盘 IO,要解决性能瓶颈,最主要的是减少数据量,对数据进行压缩是个好的方式.压缩虽然是减少了数据量,但是压缩过程要消耗CPU的,但是在Hadoop中, 往往性能瓶颈不在于CPU…
Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式. Cloudera Impala也支持这些文件格式. 在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式.   TextFile每一行都是一条记录,每行都以换行符(\ n)结尾.数据不做压缩,磁盘开销大,数据解析开销大.可结合Gzi…
目录 一.Hadoop的压缩配置 1.MR支持的压缩编码 2.压缩参数配置 3.开启Mapper输出阶段压缩 4.开启Reduceer输出阶段 二.文件存储 1.列式存储和行式存储 2.TextFile,Orc,Parquet比较 3.应用总结 一.Hadoop的压缩配置 1.MR支持的压缩编码 压缩格式 算法 文件扩展名 是否可切分 DEFLATE DEFLATE .deflate 否 Gzip DEFLATE .gz 否 bzip2 bzip2 .bz2 是 LZO LZO .lzo 是 S…
hive有textFile,SequenceFile,RCFile三种文件格式. textfile为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理. SequenceFile,RCFile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从textfile表中用insert导入到SequenceFile,RCFile表中. create table zone0000tf(ra int, dec int, mag in…
hive表的源文件存储格式有几类: 1.TEXTFILE 默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理.源文件可以直接通过hadoop fs -cat 查看 2.SEQUENCEFILE 一种Hadoop API提供的二进制文件,使用方便.可分割.可压缩等特点. SEQUENCEFILE将数据以<key,value>的形式序列化到文件中.序列化和反序列化使用Hadoop 的标准的Writable 接口实现.key为空,用value 存放实际的值,…
一.存储格式行存储和列存储 二.Hive文件存储格式 三.创建语句和压缩 一.存储格式行存储和列存储 行存储可以理解为一条记录存储一行,通过条件能够查询一整行数据. 列存储,以字段聚集存储,可以理解为相同的字段存储在一起. 二.Hive文件存储格式 TEXTFILE, Hive数据表的默认格式,存储方式:行存储. 可以使用Gzip压缩算法,但压缩后的文件不支持split 在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比SequenceFile高几十倍. SEQUEN…