目录
Hive 和Hadoop之间的关系(底层是Hadoop Hive将SQL转换为MapReduce)
使用Hadoop MapReduce直接处理数据所面临的问题
Driver驱动程序、包括语法解析器、计划编译器、优化器、执行器
数据仓库(DW)
用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成数据环境。
数仓主要特征
1.面向主题
2.集成性(ETL抽取、转换、加载)
3.非易失性
4.时变性
SQL语法分类
数据定义语言(DDL)和数据操(DML)
DDL语言是我们创建或删除表
CREATE DATABASE -
CREATE TABLE
DML语法进行数据插入、更新、删除、查询
SELETE UPDATE DELETE INSERT
结构化数据是由二维表结构来逻辑表达和实现的数据
Hive 和Hadoop之间的关系(底层是Hadoop Hive将SQL转换为MapReduce)
Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以在存储Hadoop文件中的结构化、半结构化数据映射为一张数据库表,称为HQL语言
Hive核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop集群执行
Hive由FaceBook实现开源
为什么使用Hive
使用Hadoop MapReduce直接处理数据所面临的问题
1.人员学习成本高、需要掌握java语言
2.MapReduce实现复杂查询逻辑开发难度大
使用Hive处理数据的好处
1.操作接口采用SQL语法、提供快速开发的能力(简单容易上手)
2、避免直接写MapReduce,减少开发人员的学习成本
3.支持自定义函数、功能扩展很方便
4.背靠Hadoop,擅长存储分析海量数据
对Hive的理解
1.Hive能将数据文件映射成为一张表、这个映射是指什么?
文件和表之间的对应关系
2.Hive软件本身承担了什么功能职责
将SQL语法转换成MapReduce
Apache Hive--架构图
组件用户接口
包括CLI、JDBC/ODBC。其中,CLI为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC协议,WebGUI是通过浏览器访问Hive
元数据存储
映射关系
Driver驱动程序、包括语法解析器、计划编译器、优化器、执行器
完成HQL查询语句从语法分析、编译、优化以及查询计划生成。生成计划存储在HDFS中,并在随后有执行的引擎调用
执行引擎
HIve本身不直接处理数据文件 MapReduce、Tez、Spark