当前位置: 首页 > article >正文

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

目录

1. 数据仓库初识

1.1 数据仓库概念

1.2 数据仓库特点

1.3 OLTP、OLAP区别

1.4 数仓分层架构

2. HIVE初识

2.1 什么是hive?

2.2 hive架构

3. HIVE初体验

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里


http://www.kler.cn/a/465072.html

相关文章:

  • 力扣--494.目标和
  • 如何在 VSCode 中配置 C++ 开发环境:详细教程
  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(3):配置备用数据库
  • Mac iTerm2集成DeepSeek AI
  • 【顶刊TPAMI 2025】多头编码(MHE)之Part 6:极限分类无需预处理
  • STM32-笔记32-ESP8266作为服务端
  • Elasticsearch名词解释
  • 基于深度学习的视觉检测小项目(三) 通过设计一个简单的用户界面设计了解pyside的基本套路
  • C# 设计模式(结构型模式):适配器模式
  • Redis 入门与实战指南
  • 自动化测试之Pytest框架(万字详解)
  • 迈向云原生网络的初期
  • web期末作业网页设计实例代码 (建议收藏) HTML+CSS+JS (网页源码)
  • Rdis速通
  • 本地部署Whisper Web结合内网穿透实现远程访问本地语音转文本模型
  • 大模型在自动驾驶领域的应用和存在的问题
  • vuepress 项目支持ie运行
  • Flutter入门,Flutter基础知识总结。
  • 跨语言数据格式标准化在 HarmonyOS 开发中的实践
  • 详细教程:SQL2008数据库备份与还原全流程!
  • 【SQL server】教材数据库(7)
  • JAVA-制作小游戏期末实训
  • Python PySide + SQLite3 开发的 《️ POS点销管理系统》可用初型
  • Postman[8] 断言
  • edeg插件/扩展推荐:助力生活工作
  • 【视频笔记】基于PyTorch从零构建多模态(视觉)大模型 by Umar Jamil【持续更新】