hadoop笔记之Hive入门(Hive的体系结构)
2024-10-12 02:47:14
Hive入门(二)
Hive入门(二)
Hive的体系结构
○ Hive的元数据
- Hive将元数据存储在数据库中(metastore),支持mysql、derby、oracle等数据库,Hive默认是derby数据库
- Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等
○ HQL的执行过程
- 解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行
详细过程:
- HQL——select
- 解析器——词法分析
- 编译器——生成HQL的执行计划(
javac
java –> .class) - 优化器——生成最佳的执行计划
- 执行
设我们有一个员工信息表,进入到oracle:
SQL> ——查询10号部门的员工信息
SQL> explain plan for select * from emp where deptno=10:
已解释。
SQL> ——查看该select的执行计划
SQL> select * from table(dbms_xplan.display):
执行全表扫描,当然全表扫描的代价相对要高一些
下面将对部门号建立索引
SQL> creaete index myindex on emp(deptno):
索引已创建。
SQL> explain plan for select * from emp where deptno=10:
已解释。
SQL> select * from table(dbms_xplan.display):
这事就是基于索引的扫描,对于全表扫描更加快速
对于Hive跟oracle是差不多的
所以:
○ hadoop
- 用HDFS进行存储,利用MapReduce进行计算
○ 元数据存储(MetaStore)
- 通常是存储在关系数据库如mysql、derby中
最新文章
- 百度sdk定位不成功,关闭定位
- intelliJ idea debug模式下启动慢的原因
- C#函数式编程
- 【CodeForces 616D】Longest k-Good Segment
- PDO讲解
- log4j.properties详解与例子
- vector 之 find 重载
- C++ 完美破解九宫格(数独)游戏
- class 类(1)
- JavaScript闭包的深入理解
- gitlab安装备忘录
- shell实现centos7双网卡修改网卡名eth0,eth1,并设置网络
- php curl cookie 读写
- maven详细配置
- Java中在java.sql.Date的系统时间上加上30天并写入oracle
- 面试题----实现memcpy
- PHP生产二维码
- [转]Redis 数据类型
- web应用中幂等性的学习
- Oracle数据库学习笔记(一)