首页 > 技术文章 > hive基础

hatcher-h 2020-06-01 16:51 原文

数据仓库

数据仓库简称DW,用来存储数据。数据仓库不涉及事务操作。

目的

构建面向分析的集成化环境,主要对数据仓库的数据进行分析

特征

1、面向主题:数据分析需要一定的范围,需要选取一定的主题
2、集成:集成相关联的数据。数据仓库里面的数据是经过清洗的
3、非易失性:数据仓库的数据基本上是过去的数据,不需要经过事务操作
4、实变性:随着时间的发展,数据的形态在发生改变,数据分析的手段也需要发生对应的改变

数据库和数据仓库的区别

数据库:OLTP,联网事务处理。主要功能是做事务处理,主要负责频繁的事务操作
数据仓库:OLAP,联网分析处理,不需要做事务,主要负责分析

数仓产生的原因

因为存在大量数据,需要对这些数据进行分析。

数仓的分层

源数据层 ODS 数据产生
数据仓库层 DW 数据存储,面向主题进行分析
数据应用层 APP 数据可视化展示

ETL

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

为什么要分层

分层会让职责明确

元数据

存储数据仓库模型定义以及各层之间的映射关系

hive

数据仓库的处理工具,专门处理数据仓库的数据分析。
hive 将结构化数据映射为表,并提供类似与sql的操作
本质:将sql转化为mr

hive中的元数据

hive表和hdfs存储文件之间的关系映射
hive中数据存储:hdfs
数据分析:mr

hive架构

接口 提供写sql的位置
解析器 解析sql为mr任务 准备执行
元数据 存储hive表和数据之间的映射关系
执行器 提交mr任务

hive与hadoop的关系:hive就是一个mr的客户端

hive环境搭建

1、修改hive中元数据存储位置为mysql
vim /conf/hive-env.sh
修改hadoop位置
修改hive的conf位置
2、修改hive-site.xml

hive的三种交互

第一种方式:使用hive的shell  bin/hive   可以进入hive的客户单,执行我们的sql语句
第二种方式:启动服务端,使用beeline进行交互
 nohup /bin/hive --service hiveserver2 2>&1 &   将进程挂在后台
 /bin/beeline
第三种方式:/bin.hive -e "sql语句"      /bin/hive -f sql脚本

推荐阅读