欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HIVE架构以及HIVE常见问题

程序员文章站 2022-05-01 13:04:17
...

1.hadoop生态系统架构图

HIVE架构以及HIVE常见问题

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

2.HIVE实现架构图

HIVE架构以及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本身存在一定问题

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

相关标签: 原理及问题