文章目录

  • 前言
  • 一、数据仓库介绍
    • (一) 数据仓库的基本概念
    • (二)数据仓库的主要特征
    • (三)数据仓库与数据库的区别
  • 二、Hive的概念
    • (一)Hive的介绍
    • (二)Hive的架构
    • (三)Hive与传统数据库相比
  • 总结

前言

#博学谷IT学习技术支持#

一、数据仓库介绍

(一) 数据仓库的基本概念

数据仓库,简称数仓,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的商业智能能力,指导业务流程改进、监视时间、成本、质量以及控制,数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向

(二)数据仓库的主要特征

数仓的特性主要有以下四种:

  1. 主题性,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织
  2. 集成性,数仓中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同
  3. 稳定性,数仓中保存的数据是一系列历史数据,不允许被修改
  4. 时变性,数仓会定期接收新的集成数据,反应出最新的数据变化

(三)数据仓库与数据库的区别

两者的区别主要有以下几点:

  1. 数据库是面向事务的设计,数据仓库是面向主题设计的。
  2. 数据库一般存储业务数据,数据仓库存储的一般是历史数据。
  3. 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计
  4. 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。

二、Hive的概念

(一)Hive的介绍

  • 什么是Hive

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能,其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至也可以说hive就是一个MapReduce的客户端。

  • Hive的特点
    (1)Hive最大的特点是通过类SQL来分析大数据,而避免了写MapReduce程序来分析数据,使得分析数据更加容易
    (2)数据是存储在HDFS上的,Hive本身并不提供数据的存储功能,它可以使已经存储的数据结构化
    (3)Hive是将数据映射成数据库和一张张的表,库和表的元数据信息一般存在关系型数据库上
    (4)数据存储方面,它能够存储很大的数据集,可以直接访问存储在Apache HDFS或其他数据存储系统中的文件
    (5)数据处理方面,因为Hive语句最终会生成MapReduce任务去计算,所以不适用于实时计算的场景,适用于离线分析
    (6)Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎
    (7)数据的存储格式有多种,比如数据源是二进制格式,普通文本格式等等

(二)Hive的架构

Hive主要由Client客户端,Metastore元数据,Driver驱动器以及存储和执行模块,各模块的介绍如下:

  • 客户端:客户端有很多中方式,hive shell 命令行、java访问hive或者是浏览器访问hive
  • 元数据:Metastore本质上只是用来存储hive中的元数据信息,元数据默认存储在自带的derby数据库中
  • 驱动器:Driver,Driver中包括
    (1)解析器(SQL Parser):将SQL字符转换成抽象语法树AST,并进行一些常规性检查
    (2)编译器(Physical Plan):将AST编译生成逻辑执行计划
    (3)优化器(Query Optimizer):对逻辑执行计划进行优化
    (4)执行器(Execution):把逻辑执行计划转换成可以运行的物理计划,对于Hive来说,就是MapReduce或者是Spark
  • 存储和执行:Hive使用HDFS进行存储,使用MapReduce进行计算

(三)Hive与传统数据库相比

Hive具备与SQL相似的外表,但是其执行流程和应用场景与SQL完全不同,Hive只适合用于进行批量数据统计分析


总结

Hive是一个数仓工具,该工具并不存储数据,其底层主要是MapReduce,数据存储在HDFS上,该工具通过SQL命令转换成MapReduce,对存储在HDFS上的文件进行运算。

【博学谷学习记录】超强总结,用心分享| 大数据之数仓及Hive介绍相关推荐

  1. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇

    目录 1.API 1.1 API概述-帮助文档的使用 1.2 键盘录入字符串 2. String类 2.1 String概述 2.2 String类的构造方法 2.4 创建字符串对象的区别对比 2.5 ...

  2. {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程

    本章以系统架构,数据架构,两种维度来进行讲解 目录 1 系统架构 1,1 单体架构 1.2 中台战略 2 数据库架构 2,1 单体架构 2.2 主从读写 2.3 分库分表 3 总结 1 系统架构 1, ...

  3. [博学谷学习记录]超强总结,用心分享|架构 Nacos入门

    提示:学习笔记 欢迎指点 文章目录 前言 一.Nacos安装 二.Nacos服务注册与发现 1.服务提供者Provider 2.服务消费者Consumer 三.Nacos作为配置中心 前言 Nacos ...

  4. [博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道

    提示:学习笔记 欢迎指点 文章目录 1.敏捷开发思想之道 2.面向对象开发之道 3.敏捷学习之道 1.敏捷开发思想之道 一名敏捷开发者,敏捷思想的掌握自然首当其冲.在敏捷开发实施的过程中,我们虽然不是 ...

  5. 【博学谷学习记录】超强总结,用心分享|大数据之数仓分层

    数仓是什么? 数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报 ...

  6. [博学谷学习记录]超强总结,用心分享|第16节 集合续-----笔记篇

    目录 1.HashSet集合 1.1HashSet集合概述和特点[应用] 1.2HashSet集合的基本应用[应用] 1.3哈希值[理解] 1.4哈希表结构[理解] 1.5HashSet集合存储学生对 ...

  7. [博学谷学习记录] 超强总结,用心分享|陌陌综合案例

    注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flin ...

  8. [博学谷学习记录]超强总结,用心分享|Hive的压缩格式

    压缩格式 工具 算法 文件扩展名 是否可切分 DEFAULT 无 DEFAULT .deflate 否 Gzip gzip DEFAULT .gz 否 bzip2 bzip2 bzip2 .bz2 是 ...

  9. [博学谷学习记录]超强总结,用心分享|软件测试之计算机基础(一)

    本周开始学习软件测试,而我也即将开始在平台记录我的学习之路.我会把我的个人心得及掌握的知识发布在此平台,俗话说最好的输入就是输出,希望在输出的同时能有更多的收获,也希望与大家多多交流. 为了更好的学习 ...

最新文章

  1. 全球资金看好中国的AI(人工智能)
  2. STM32串口中断接收方式详细比较
  3. 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
  4. ❗HTML引入CSS的三种常用方式汇总❗
  5. 文件路径最好使用正斜杠,使用反斜杠可能在unix系统中访问不到文件
  6. 从尾到头打印单链表(C语言)
  7. 手把手带你入门Python爬虫(二、爬虫预备知识)
  8. 谷歌浏览器桌面通知 HTML5 Chrome Desktop Notifications
  9. python+Django框架运用(一)
  10. android json字符串转成json对象_在PHP中处理JSON数组以及对象
  11. 算法与数据结构简单启蒙,我当年学习算法走过的坑
  12. Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
  13. 一篇关于arc下内存管理的老文章,包含各种冷门修饰符(关于内存),写的较好,mark...
  14. 银河麒麟桌面操作系统sp1 2203双硬盘ghost备份及手动分区还原
  15. Excel复制的数据到文本文件里面有 双引号
  16. 最短路径之佛洛伊德算法
  17. 【Google Chrome】如何让浏览器显示手机网页
  18. OSPF——基本概念2(多区域与Vlink)
  19. 16天记住7000考研单词(第一天)
  20. 大数据技术之Hive------操作记录笔记

热门文章

  1. z3735f android x86,随大流,也装了个z3735f的小主机(1223更新功耗图)
  2. UVM:寄存器模型 构建
  3. Elasticsearch 分片管理解析
  4. 【附源码】计算机毕业设计java智能仓储设备管理系统设计与实现
  5. about unit test in android ppt,选修5 unit4Learning about language.ppt
  6. 维基百科-Android
  7. 通过Url访问服务器的文件
  8. WPF 使用 Composition API 做高性能渲染
  9. 在Vue中异步加载数据渲染到Dom
  10. 详解Paint的setXfermode(Xfermode xfermode)