数据仓库的基本概念、hive的安装部署、hive使用mysql作为元数据库存储的安装配置、hive的使用方式

大纲:
数仓的工具hive
1.数据仓库的概念 了解
2.hive的基本概念以及hive的安装 搞定
3.hive的基本操作 掌握
4.hive的shell参数 了解
5.hive当中的函数 了解
6.hive当中的数据压缩 snappy 知道
7.hive当中的数据存储格式 掌握
8.存储格式与压缩方式的相结合 知道
9.hive的调优 尽量多背几个
10.hive的语句练习 作业

1.数据仓库的基本概念

1.1什么是数据仓库
仓库就是用来存储东西的,不生产不消耗,是外界放进去的,供外界使用
数据仓库:简称:DW或者DWH data warehouse 里面装的都是数据
目的:构建面向分析的集成化数据环境,主要职责是做分析性质报告和决策支持,对仓库里面的数据进行分析
数据分析可以支持我们做决策等

数据分析的特征:
面向主题:数据分析有一定的范围,需要选取一定的主题进行分析
集成性:集成各个其他方面关联的一些数据,比如分析订单购买人的情况
非易失性(不可更新性):数据分析主要是分析过去已经发生的数据,分析的东西都是不会改变的事实
时变性:随着时间的发展,数据的形态也在发生变化,数据分析的手段也要相应的进行改变

数据仓库与数据库的区别
数据库:事务处理 0LTP 联机事务处理 数据库主要功能就是用来做事务处理的,主要负责频繁的增删改查

数据仓库:分析处理 OLAP 联机分析处理 不需要做事物的保证 主要职责就是做数据的分析

1

数据库的数据,允许增删改
数据仓库的数据,一般不允许增删改

数据仓库的产生是因为有大量数据库的存在,需要对数据进一步的决策分析,然后才产生数据仓库的概念
excel kettle sass passs 都是数据分析的一些软件

数据仓库的分层:
数据仓库一般分为三层:
第一层:源数据层 又叫ODS 我们产生数据的地方
第二层:数据仓库层 又叫DW 主要集中存储数据 面向主题进行分析
第三步:数据应用层 又叫app层 主要用于展示我们分析之后的数据结果 echarts
3

数据在这三层之间的一个流动,称之为ETL的过程
ETL:extrat(抽取) transform(转换) load(加载)
数据从源数据层流向数据仓库层再流向app层

2

为什要对数据仓库的分层:每一层职责清晰

数据仓库的元数据管理:定义我们的数据架构,数据的位置,数据的信息
这里的元数据,记录的是我们数据仓库当中的数据如何进行处理的一整套的过程

2.hive的基本概念
hive:是一个数据仓库的处理工具,专门用于数据仓库的数据分析
hive是基于hadoop的一个数据仓库的工具,将结构化的数据,映射成为一张表,并且提供类似sql的查询功能
本质是将sql语句转换成mapreduce的任务进行执行

结构化数据:体现为数据字段固定,数据类型固定 数据库的表就是一种典型的结构化数据
半结构化数据:数据类型一定,但是数据的字段个数不定 比如:XML和JSON
非结构化数据:完全没有任何规律 字段类型不定,字段个数不定,数据的类型不定 比如:音频、视频

hive如何映射结构化数据成为一张表
4

hive当中的元数据信息:主要描述了hive表与hdfs数据之间的映射关系
包括了字段的映射(hive当中的哪一个字段与数据当中的哪一列进行对应),数据位置的保存,建表的语句定义等等

其实数据都存储在hdfs上面,hive只是建立了一个空表,然后表与数据的映射关系,定义好了,就类似hive表当中有数据了

hive是一个数据仓库的工具,主要用于做数据分析的
数据的存储:用的是HDFS
数据的计算:用的是MR
hive与hdfs上面数据的映射关系,叫做元数据信息,一般都保存在mysql或者oracle里面

5

hive的架构:
用户接口:提供我们写sql的地方
解析器:解析我们的sql语句,转换成mr的任务提交,准备执行
元数据:记录我们hive的表与我们数据之间的映射关系
执行器:mr执行
6

hive和Hadoop的关系:hive就是一个mr的客户端

千万别把hive当成数据库使用
现在版本的hive支持插入,不支持修改,删除操作,最主要的功能是查询
hive是用来做数据仓库的

7

mapreduce为什么慢? 反复的将数据从磁盘到内存,从内存到磁盘,从磁盘到内存,从内存到磁盘

hive的数据存储在hdfs上面,而且hive支持各种存储格式,支持Text、SequenceFile(二进制文件)、ParqueFile、OBC(RCFILE)格式

2.hive的安装部署

mysql的远程连接授权语句:
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;

*. * 第一个星表示数据库名称 第二个星表示数据库下面的哪个表
‘root’@’%’ root:表示mysql的用户 %表示我们的ip地址 可以从哪台机器使用哪个用户来连接我们的数据库服务器
root@node01
all privileges :所有的权限 这里还可以写 insert update delete select
identified by :远程连接的时候的密码,与我们mysql的root用户密码无关

flush privileges; 刷新权限表

实际线上环境,关于MySQL的控制比较严格,不同的人分配不同的用户,创建不同的数据库,分配不同的权限

3.hive使用mysql作为元数据库存储的安装配置

1.修改hive-env.sh
8

cp hive-env.sh.template hive-env.sh
vim hive-env.sh
9

2.修改hive-site.xml
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
vim hive-site.xml

3.上传MySQL的lib的驱动包
将mysql的lib驱动包上传到hive的lib目录下
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
将mysql-connector-java-5.1.38.jar 上传到这个目录下

4.hive的使用方式

4.1使用 bin/hive 可以进入hive的客户端,执行sql语句
使用hive的shell bin/hive 可以进入hive的客户端,执行我们的sql语句

4.2使用Hive JDBC 服务
启动服务端,使用beeline进行交互

进程的启动
前台启动进程
bin/hive --service hiveserver2
将进程挂在后台
nohup bin/hive --service hiveserver2 2>&1 &

使用beeline进行交互
bin/beeline
!connect jdbc:hive2://node03:10000
用户名和密码随便输出,但是用户名一定要有权限去操作hdfs的数据

4.3使用hive命令行的交互
bin/hive -e 不进入hvie的客户端直接执行hql语句
bin/hive -f hive.sql 不进入hive的客户单,直接执行hive的脚本文件

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值