大数据-第07章 hive 结构原理图

大数据-第07章 hive 结构原理图_第1张图片
执行流程:
①客户编写hiveQL语句,并发送与hive服务器Driver
②根据语句在数据源里面查找元数据
③根据语句进行解释、编译、优化并发送与hadoop
(1)将hiveQL语句先转换为抽象语法树
(2)将抽象语法树转换为查询块
(3)将查询块转换为逻辑查询计划
(4)将查询计划语句进行优化,去重,
(5)将逻辑查询计划转换为物理计划
(6)优化物理计划,选出最优的策略发送与hadoop进行执行
④hadoop接收优化后的方案执行调用hdfs和MapReduce来执行
⑤客户端访问hadoop获取执行后的结果

1.数据仓库概念
答:数据仓库(data warehouse)是一个面向主题、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策,本身存储的是静态数据,分析适合采用批处理的方式,数据本身也不会频繁变化。ETL——>提取、转换、加载。
2.传统数据仓库缺点?
答:①无法满足快速增长的海量数据存储需求;②无法有效处理不同类型的数据;③计算和处理能力不足。
3.hive简介
答:hive是一个构建与hadoop顶层的数据仓库工具,支持大规模的数据存储、分析、具有良好的可扩展性,其本身并不存储和处理数据,可以看成用户编程接口,支持分布式文件系统HDFS存储数据和并行计算模型MapReduce处理数据,具有自身编写的类似于SQL的语言hiveQL,是一个可以提供有效、合理、直观组织和使用数据的分析工具,本身提供一系列对数据进行提取、转换、加载的工具。(与pig可以相互替换)
4.hive与传统数据仓库的对比
答:

大数据-第07章 hive 结构原理图_第2张图片
5.hive如何实现高可用的?
答:有多个hive实例进行管理,这些hive实例被纳入一个资源池中,并由HAProxy提供一个统一的对外接口,对于程序员来说,可以把它认为是一台超级“hive”。
6.hive的数据类型
答:
大数据-第07章 hive 结构原理图_第3张图片
7.hive的内部表和外部表区别?
答:①外部表在创建是需要制定目录;②在做删除时内部表会将表的机构和元数据全部删除,外部表只会删除表的结构,不会删除原数据。
8.分区
答:分区是指在创建表示制定partition的分区空间,hive将数据组织成分区,主要可以提高数据的查询速度。用户可以指定存储数据放在哪一个分区,因此用户必须在加载数据时显示指定数据放在的分区位置,分区字段不能存在表的列中。
9.jdbc访问hive
答:服务器启动hiveserver2后,在java代码中通过hive的jdbc访问默认端口10000进行连接,访问。
10.分桶
答:分桶表是对列值取哈希值的方式,将同一个目录下不同的数据放到不同文件中存储对应hive中每一个表、分区都可以进一步分桶。由列的哈希值除以桶的个数来决定每条数据划分在那个桶中,执行分桶是必须开启分桶:set hive.enforce.bucketing=true。

你可能感兴趣的:(大数据,hive)