复习打卡大数据篇——HIVE 01

目录

[1. 数据仓库初识](#1. 数据仓库初识)

[1.1 数据仓库概念](#1.1 数据仓库概念)

[1.2 数据仓库特点](#1.2 数据仓库特点)

[1.3 OLTP、OLAP区别](#1.3 OLTP、OLAP区别)

[1.4 数仓分层架构](#1.4 数仓分层架构)

[2. HIVE初识](#2. HIVE初识)

[2.1 什么是hive?](#2.1 什么是hive?)

[2.2 hive架构](#2.2 hive架构)

[3. HIVE初体验](#3. HIVE初体验)

[3.1 beeline客户端使用](#3.1 beeline客户端使用)


1. 数据仓库初识

1.1 数据仓库概念

数据仓库,Data WareHouse,简称DW。数据仓库是面向分析的集成化数据平台,分析的结果给企业提供决策支持,数据仓库本身不生产数据,其分析的数据来自于企业各种数据源,数据仓库本身也不消费数据,其分析的结果给外部各种数据应用来使用,因此数据仓库不是大型的数据库,只是一个数据分析的平台。

1.2 数据仓库特点

  1. **面向主题性 :**一个分析的主题可以对应多个数据源,在数仓中开展分析,首先确定分析的主题,然后基于主题寻找、采集跟主题相关的数据。
  2. 集成性 : 数仓数据来自于各个不同的数据源,当我们确定主题之后 就需要把和主题相关的数据从各个数据源集成过来。因为同一个主题的数据可能来自不同的数据源,它们之间会存在着差异。因此在集成的过程中需要进行ETL。
  3. 不可更新性 :数据仓库存储了长时间跨度的历史数据,这些数据是不同时间点数据库快照的集合,同时也包含了基于这些快照进行的统计和重组数据。数据仓库中的数据具有非易失性,即数据一旦进入仓库,通常会长期保留,主要用于查询和分析,很少进行修改和删除操作,仅定期进行数据加载和更新。
  4. 时变性 :数据按时间顺序追加,带有时间属性,可能涉及特定日期、星期、月份等时间粒度。尽管数据仓库中的数据不可修改,但为了反映业务变化和保持分析结果的时效性,需要定期更新数据。因此,数据仓库的建设不仅是一个项目,更是一个持续的过程,需要不断优化和调整以适应决策需求。

1.3 OLTP、OLAP区别

数据库和数据仓库的区别本质的区别就是OLTP(联机事务处理,Online Transaction Processing)和 OLAP(联机分析处理,Online Analytical Processing)的区别

OLTP(联机事务处理)和OLAP(联机分析处理)是两种不同的数据管理系统,各自服务于不同的业务需求。OLTP主要用于处理日常交易,如银行业务或电子商务,强调实时数据处理,确保数据一致性,并处理高并发的交易请求。它通过规范化数据库减少数据冗余,适用于需要快速响应的操作任务。相比之下,OLAP专注于数据分析和决策支持,处理大量历史数据,并优化复杂查询和多维分析。OLAP系统通常使用非规范化或多维数据结构,如数据立方体,以提高查询性能和数据聚合能力。

在应用场景方面,OLTP服务于操作人员,处理如订单处理、账户交易等实时事务,而OLAP则服务于分析师和管理者,提供深入的数据趋势分析,支持战略决策。OLTP注重事务处理速度和并发能力,OLAP则关注查询响应时间和数据分析能力。在企业环境中,OLTP和OLAP通常相辅相成,OLTP负责日常运营,OLAP提供数据分析支持,共同为企业运营和决策提供全面的数据支持。

1.4 数仓分层架构

按照数据流入流出的过程,数据仓库架构可分为三层------源数据(ODS)数据仓库(DW)数据应用(DA)。

  • **ODS:**也叫源数据层、临时存储层,其数据来自于各个不同的数据源,此层数据无任何更改,为后一步的数据处理做准备。
  • **DW:**数据仓库层,也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。企业中根据业务复杂度继续在DW中继续划分子层存储大量的中间结果。其数据来自于ODS经过层层ETL得出。
  • **DA:**数据应用层,也可以叫APP层,最终消费DW数据的各种应用。

分层的好处:清晰数据结构、数据血缘追踪、减少重复开发、把复杂问题简单化、屏蔽原始数据的异常。

2. HIVE初识

2.1 什么是hive?

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本质是将SQL转换为MapReduce程序。主要用来做离线数据分析。

2.2 hive架构

hive组件主要包括:客户端用户接口、Hive Driver驱动程序、metadata、Hadoop。

客户端:就是编写SQL的地方。

Driver:是hive的核心,完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。

metadatas:元数据存储,对于hive来说,元数据指的是表和文件之间的映射关系。通常是存储在关系数据库如 mysql/derby中。客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore 服务即可。

Hadoop:hive要依赖于Hadoop,Hive利用HDFS存储数据,利用MapReduce查询分析数据。

3. HIVE初体验

3.1 beeline客户端使用

beeline客户端首先要访问Hiveserver2服务,再访问metastore服务。

首先在有hive的机器上先启动metastore服务,再启动hiveserver2服务:

jps看一下进程:

使用beeline客户端访问,beeline在:hive/bin里

相关推荐
大数据追光猿12 分钟前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
人类群星闪耀时2 小时前
物联网与大数据:揭秘万物互联的新纪元
大数据·物联网·struts
桃林春风一杯酒8 小时前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式
桃木山人8 小时前
BigData File Viewer报错
大数据·java-ee·github·bigdata
B站计算机毕业设计超人8 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
数造科技9 小时前
紧随“可信数据空间”政策风潮,数造科技正式加入开放数据空间联盟
大数据·人工智能·科技·安全·敏捷开发
逸Y 仙X12 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
caihuayuan412 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人13 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
(; ̄ェ ̄)。13 小时前
在nodejs中使用ElasticSearch(二)核心概念,应用
大数据·elasticsearch·搜索引擎