hive是什么[博学谷技术支持]

数据仓库

        数据仓库是企业发展到一定的阶段,现有的发展状况不能满足企业的需求,需要基于企业和行业历史数据来进行智能化的统计分析,通过分析挖掘出有价值的东西,为决策者或领导层提供科学的决策支持,用于改善企业的业务流程,运行成本,企业效益,提高客户的体验度。

        数仓中的数据是来自各种各样的数据源,为了分析,不择手段,只要有利于分析的数据,都可以集成到数仓中。

        目前,我们可以认为数据仓库中的数据是来自于hdfs上的。

        HDFS:文件     ------> 数仓管理工具      ------>数据库表        ------>    HiveSql/SparkSql

主要特征

  • 面向主题的(Subject-Oriented )

    我们分析一般都是泛泛而谈,一定是由一个或者主题:销售角度、客户角度、商家角度、产品的角度,数仓中的数据一定是要划分主题的
  • 集成的(Integrated)

    数仓的数据可以来自各种四面八方的数据,都集成在一起,集成之后,数据之间会存在格式上的差异,我们通过ETL机制来消除这种差异
  • 稳定的(Non-Volatile)

    1、离线数仓中的数据都是历史数据(历史不容更改)
    2、在下一个采集周期到来之前,数仓中的数据是不变的(HiveSQL不支持update和delete命令)
  • 时变的(Time-Variant )

    当下一个采集周期到来之前,数仓中的数据要及时的更新(T+1机制)

数仓和数据库的区别

        数据库数据库的数据是面向业务,面向事务(OLTP)的,面向客户的,如果数据丢了,整个企业的业务就无法开展,数据库是为了让企业活下来

        数据仓库是面向分析(OLAP)的,面向大数据工程师的,数据仓库是让企业活的更好

        数据库一般是存放业务数据,数据状态都是最新的

        数仓一般存放是历史数据,数据不是最新的

        数据库的表在设计是避免出现冗余:ER图、 三大范式

        数仓为了分析允许数据出现冗余,怎么便于分析就怎么来

        数据库强调时效性,要求请求和响应之间的时间在毫秒级别

        数仓具有延时性,一般处理过程比较长

        数据库面向客户,必须保证安全性,一旦有问题就是大问题 

        数据仓库是面向内部人员,安全级别较低

关系

数仓的数据可以来自数据库 ​ #数据分析为什么需要单独搞一个数仓,不在业务数据库上直接分析

        1、业务数据库本身需要消耗服务器资源,数据分析不能去抢占业务的资源

        2、数据库只是数仓其中一种数据源,数仓可以是多种数据源的集合

        3、业务数据库就是为业务而生的,不具备很多大数据分析所需要的的体系结构

数仓的分层

        数仓分层实际上描述的是数据在数仓中不同的处理阶段

        数仓的分层没有统一的标准,每一个公司可能都不一样

        通用的数仓分层

                DA层/APP层     存放分析后的结果数据         数据结果  

                dw层           存放ods层预处理过的数据     数据干净 可以直接用于分析    

                        DWS层    

                        DWB层    

                        DWD层  

                ods源数据层     存放最原始的结构化数据       数据原始

 

ETL概念

        抽取(extract)

                从数据源根据需求采集需要的指定数据:Sqoop 、Kettle、 Flume

        转换(transform)

                将抽取后的数据进行前期的分离处理,格式转换,字典表翻译、数据质量的空值

        加载(load)

                将转换后的数据加载数仓中

Hive的概述

        Hive是数仓管理工具,用来管理数仓

        Hive可以将数仓存在HDFS上的文件变成一张张的表

        Hive提供一种HiveSQL可以表进行分析处理

        HiveSQL底层默认是MapReduce,以后可以换成其他的引擎(Spark),我们写HiveSQL会去匹配底层的MR模板,匹配上则执行,否则不能执行

Hive的特点

        Hive本身只是一个工具,它不存任何数据: Hive的表数据存在HDFS上,Hive的元数据(表结构和HDFS文件之间的映射关系)存在第三方的数据库中(MySQL)   select * from itheima_order_goods;

        Hive底层引擎默认是MapReduce,你也可以换成其他引擎(Tez,Spark)

Hive的架构

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值