HIVE入门,进阶
首先,我们要对Hadoop有一定的了解
比如说,什么是HDFS,什么是mapreduce
以及Hadoop里面的一些最基本的操作
Hadoop和Hive都是基于Linux操作系统构建的
我们也需要掌握
如何创建一个文件
如何编辑一个文件
如何切换一个目录
最后,我们需要了解数据库的基本知识
Hive是一个数据仓库,本质上也就是一个数据库,他跟我们一般意义上的数据库有什么样的区别,一定要对数据库的基本知识有一定的了解。
HIve是基于Hadoop之上的数据仓库
学习目标:
1、Hive和一般意义上的数据库有什么区别
Hive是构建在hadoop HDFS上的一个数据仓库
Hive的体系结构是什么
Hive如何与hadoop HDFS 进行相互操作
Hive数据与Hadoop中的文件之间的关系
2、如何搭建数据库
3、创建的过程是什么
4、如何把数据导入到数据仓库
Hive的安装和管理
Hive的数据模型和操作
第一章 概述
1-1
1-2 数据仓库简介
数据仓库:数据仓库是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,他用于支持企业或组织的决策分析处理
商品推荐系统---------主题
集成的 ------不同的数据集成起来
不可更新-------数据查询
数据仓库的结构和建立过程
数据源(业务数据系统、文档资料、其他数据)----------------数据存储及管理(ETL 抽取Extract 转换 Transform 装载 Load)---------------数据仓库引擎(服务器)
------------------------前端展示(数据查询、数据报表、数据分析、各类应用)
OLTP应用----同时成功或同是失败-----银行的转账
OLAP应用---- 商品推荐系统-------------基于原始数据-----查询
数据仓库中的数据模型
1、星形 面向主题:商品信息------客户信息、订单信息、促销信息、厂家信息、物流信息
2、雪花模型 客户信息----客户家庭信息、教育背景信息、地址信息、银行卡信息。。。。。。
厂家信息----地址信息、员工信息
员工信息:。。。。。。。。。
1-3 什么是Hive
Oracle Mysql
1、Hive 是建立在Hadoop HDFS上的数据仓库基础架构
2、Hive可以用来进行数据提取转化加载(ETL)
3、Hive定义了简单的类似SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据
4、Hive允许熟悉Mapreduce开发者的开发自定义的mapper和reduce来处理内建的mapper和reducer无法完成的复杂的分析工作
5、Hive是SQL解析引擎,他将SQL语句转移成M/R Job然后在Hadoop执行
6、Hive的表其实就是HDFS的目录/文件
第二章 Hive的体系结构
2-1 Hive的体系结构之元数据
Hive的元数据---Hive将元数据存储在数据库中(metastore),支持mysql,derby等数据库
Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等---derby
2-2 Hive的体系结构之HQL
一条HQL语句是如何在hive中进行查询的?
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成。
生成的查询计划存储在HDFS中,并在随后又MApReduce调用执行
HQL 解释器 编译器 优化器 执行
select 词法分析 生成HQL的执行计划 生成最佳的执行计划
explain plan for select * from emp where deptno=10;
select * from table(dbms_xplan.display):
用索引的方式可以提高查询速度
create index myindex on emp(depto);
explain plan for select * from emp where deptno=10;
2-3 Hive的体系结构
Hadoop ---用HDFS进行存储,利用MapReduce进行计算
元数据存储(MetaStore) ----通常是存储在关系数据库如mysql,derby中
第三章 Hive的安装
第四章 Hive的管理
4-1 Hive的管理之CLI方式
hive quit;
hive --service cli exit;
CLI(命令 行方式)
清屏 ctrl+L 或者!clear
查看数据仓库的表 show tables;
查看数据仓库中内置的函数 show functions;
查看表结构 desc表名;
查看HDFS上的文件: dfs -ls 目录
执行操作系统的命令: !命令
执行SQL程序 source 文件位置
静默模式 hive -S
hive -e "show tables";
hive -S -e "show tables";
4-2 HIve的管理之WEB界面
4-3 Hive的管理之远程服务
第五章 Hive的数据类型
5-1 Hive的数据类型之基本类型
5-2 Hive的数据类型之复杂
5-3 Hive的数据类型之时间
第六章 Hive的数据模型
6-1 Hive的数据存储
6-2 内部表
6-3 分区表
6-4 外部表
6-5 桶表
6-6 视图
第七章 总结