HIVE架构以及HIVE常见问题

1.hadoop生态系统架构图

hive是运行在YARN上的,数据存储在HDFS上。

2.HIVE实现架构图

将sql语句转换为MapReduce,当然hive本身做了一些优化,有些任务不会走MapReduce。hive其实就是把结构化的数据文件映射到表中,hive表的元数据信息存储在关系型数据库中,具体可以参见我的另一篇博客,配置了mysql数据库。

SQLParser 对sql语句进行解析,Query Optimizer 进行优化,Physical Plan 转化为物理计划(比如说,分成几个MapReduce去执行),最后Executioner执行。client包括(cli即hive shell,JDBC,WEBUI),元数据包括,表名,表所属的数据库,表的拥有者,列/分区字段,表的类型(是否是外部表),表的数据所在的目录等。Hadoop:使用hdfs进行存储,使用MapReduce进行计算。

3.HIVE的优点

1.优势在于处理大数据,对于小的数据没有优势,因为执行延迟比较高。因为执行延迟比较高,所以常用于数据分析实习性要求不高的场合。数据的离线处理。

2.可扩展,基于hadoop,hadoop是易扩展的,(可以扩展集群规模,支持自定义函数)

3.统一的元数据管理,可以与impala/spark等共享原数据

4.操作接口采用类sql语法,避免写MapReduce

4.常见问题

这个部分,我遇见问题,以后会一个个分析,当然,在配置好环境以后,自己学会查看日志文件就好。

1.hive多表连接查询

select count(distinct deptno) from dept_part  where month = '201809'
union 
select count(distinct deptno) from dept_part  where month = '201810';

报错:FAILED: ParseException line 3:0 missing ALL at 'select' near '<EOF>'

另外,在子查询的代码里面记得给别取别名,hive本身存在一定问题

希望有小可爱告诉我一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值