Hive 基本原理和架构

基本原理 Hive构建在Hadoop之上: 1. 查询语句的解释、优化、计划生成,由Hive完成; 2. 所有的数据都是存储在Hadoop文件系统中; 3. 查询计划被转化为MapReduce任务,在Hadoop集群执行(有些查询没有MR任务,如:select * from table) 基本架构 1. 用户接口:Client CLI(command-line interface)、JDBC/OD

Hive 数据倾斜判断、定位和解决

什么是数据倾斜 当数据分布不均匀,集中在少数几个 Key上,进行处理时,数据和运算会集中在少数上,造成数据热点,称之为数据倾斜。 当数据倾斜出现时,会出现任务进度长时间维持在99%(或100%)上,一直卡在少量 Reduce 任务上,甚至因为超时被杀掉。 如何判断数据倾斜 1. 通过任务时间判断 如果个别Reduce的时间比其它Reduce时间长的多,例如大部分Reduce任务都在5分钟之内完成,

Hive 存储格式和压缩算法

存储格式 行式存储和列式存储 行式存储的优点:查询满足条件的一整行数据时,行式存储的数据查询更快。因为行存储只需要找到其中一个值,其余的值都在相的邻地方,而列式存储则需要去每个聚集的字段找到对应的每列的值。 列式存储的优点:查询满足条件的一整列数据时,列式存储的数据查询更快。因为列存储只需要找到其中一个值,其余的值都在相邻的地方,而行存储则需要去每个聚集的字段找到对应的每个行的值。另一方面,列式存

Hive 数据类型、特点和转换

Hive 的数据类型分为简单类型和复杂类型。Hive 不支持日期类型,STRING 类型不能声明长度,理论上最大支持 2GB。Hive 会隐式转换类型,也能通过 CAST 进行显示转换。