数据仓库和Hive的基本概念


数据仓库

  • 概述

    数据仓库英文全称为 Data Warehouse,一般简称为DW。主要目的构建面向分析的集成化数据环境主要职责对仓库中的数据进行分析支持我们做决策

  • 主要特征

    面向主题(Subject-Oriented):数据分析有一定的范围,需要选取一定的主题进行分析。

    集成性(Integrated):集成各个其他方面关联的数据,比如分析订单购买人的情况,就涉及到用户信息的数据。

    非易失性(Non-Volatile):数据分析主要是分析过去已经发生的数据,都是既成的事实,不会再改变

    时变性(Time-varient):随着时间的推移发展,数据的形态也在发生变化,数据分析的手段也要相应的改变

  • 数据仓库与数据库的区别

  • 数据仓库分层架构



    数据仓库架构可分为三层源数据数据仓库数据应用



    源数据层(ODS):是产生数据的地方。此层数据直接沿用外围系统数据结构和数据,不对外开放,为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。

    数据仓库层(DW):也称为细节层,主要集中存储数据面向主题进行分析。DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。

    数据应用层(DA/APP):前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据,主要用于展示分析之后的数据结果



    ETL(抽取Extract, 转化Transfer, 装载Load)数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL的过程。ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳定。



    对数据仓库分层的原因:用空间换时间。通过数据分层管理可以简化数据清洗的过程,也就是把原来一步的工作分到了多个步骤去完成,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。

  • 数据仓库元数据管理



    元数据(Meta Date):主要记录数据仓库中模型的定义各层级间的映射关系监控数据仓库的数据状态ETL的任务运行状态简单来讲,元数据记录了ETL一整套流程。如果要更为 详细地说,元数据定义了源数据系统到数据仓库的映射、数据转换的规则、数据仓库的逻辑结构、数据更新的规则、数据导入历史记录以及装载周期等相关内容。数据抽取和转换的专家以及数据仓库管理员正是通过元数据高效地构建数据仓库。


Hive的基本概念

  • 概述

    Hive是基于Hadoop的一个数据仓库处理工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能本质将sql语句转换成MapReduce的任务进行执行,所以一定程度上可以说hive是MapReduce的一个客户端。

  • 结构化、半结构化、非结构化数据

    结构化数据:体现为数据字段固定数据类型固定(数据库的表就是一种最典型的结构化数据)

    半结构化数据:XML,JSON,数据类型一定,但是数据的字段个数不定

    非结构化数据:完全没有任何规律,字段类型不定、字段个数不定、数据类型不定,比如说音频、视频

  • 选择用Hive的原因

    直接使用Hadoop的弊端:人员学习成本高、项目周期要求短、MapReduce实现复杂查询逻辑开发难度大

    用Hive的好处:操作接口采用类sql语法,提供快速开发的能力。 避免了去写MapReduce,减少开发人员的学习成本。 功能扩展很方便

  • Hive架构



    用户接口:就是提供写sql语句的地方。包括CLIJDBC/ODBCWebGUI。其中,CLI (command line interface)shell命令行JDBC/ODBCHive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive

    解析器:解析sql语句,转换成MepReduce的任务提交并准备执行,是重中之重。

    元数据存储:通常是存储在关系数据库如mysql/derby中(Derby不好用,元数据一般都保存在mysql或者oracle中等)。Hive 将元数据存储在数据库中。Hive 中的元数据包括表的名字表的列和分区及其属性表的属性(是否为外部表等)表的数据所在目录等。

  • Hive与Hadoop的关系



    一句话来说明:Hive是MapReduce的一个客户端

  • Hive和传统数据库的对比

  • Hive的数据存储

    Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,ORC,RCFILE等),只需要在创建表的时候告诉 Hive 数据中的列分隔符行分隔符,Hive 就可以解析数据。

【Hadoop离线基础总结】数据仓库和hive的基本概念的更多相关文章

  1. 【Hadoop离线基础总结】Hive调优手段

    Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...

  2. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发

    目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...

  3. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  4. 【Hadoop离线基础总结】Hue的简单介绍和安装部署

    目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...

  5. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

  6. 【Hadoop离线基础总结】Sqoop常用命令及参数

    目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...

  7. 【Hadoop离线基础总结】Hive的基本操作

    Hive的基本操作 创建数据库与创建数据库表 创建数据库的相关操作 创建数据库:CREATE TABLE IF NOT EXISTS myhive hive创建表成功后的存放位置由hive-site. ...

  8. 【Hadoop离线基础总结】Hive的安装部署以及使用方式

    Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...

  9. 【Hadoop离线基础总结】Sqoop数据迁移

    目录 Sqoop介绍 概述 版本 Sqoop安装及使用 Sqoop安装 Sqoop数据导入 导入关系表到Hive已有表中 导入关系表到Hive(自动创建Hive表) 将关系表子集导入到HDFS中 sq ...

随机推荐

  1. SDL-开篇明义

    SDL只是方法论,忌为SDL而SDL 1.sdl是什么 sdl是安全研发生命周期 ,一个方法论, 理念是安全左移, 通过各种方法.工具.流程设计和交付更安全的软件,以期望降低安全成本,最终还是为了保护 ...

  2. S - Primitive Primes CodeForces - 1316C 数学

    数学题 在f(x)和g(x)的系数里找到第一个不是p的倍数的数,然后相加就是答案 为什么? 设x1为f(x)中第一个不是p的倍数的系数,x2为g(x)...... x1+x2前的系数为(a[x1+x2 ...

  3. 【JAVA】并发-基础IO

    一.java.io包支持.java的IO流有输入.输出两种,每种输入.输出流又可分为字节流.字符流两大类,字节流以字节为单位处理IO操作,字符流以字符为单位处理IO操作 JDK 1.4以后有java. ...

  4. 常见web漏洞的整理之SQL注入

    SQL注入: 简介: 全称Structured Query Language,即结构化查询语言,是一种特殊的编程语言,用于数据库中的标准数据查询语言.也被作为关系式数据库管理系统的标准语言. 原理: ...

  5. 形象地展示信号与系统中的一些细节和原理——卷积、复数、傅里叶变换、拉普拉斯变换、零极图唯一确定因果LTI系统

    看懂本文需要读者具备一定的微积分基础.至少开始学信号与系统了本文主要讲解欧拉公式.傅里叶变换的频率轴的负半轴的意义.傅里叶变换的缺陷.为什么因果LTI系统可以被零极图几乎唯一确定等等容易被初学者忽略但 ...

  6. CSS躬行记(7)——合成

    在图形编辑软件中,可以按特定地方式处理不同图层的合成,最新的CSS规范也引入了该功能,并提供了mix-blend-mode和background-blend-mode两个属性.混合模式(blendin ...

  7. 一个令人兴奋的ES6星特性-结构赋值

    学完了前4节,今天我给大家带来的是一个令人兴奋的特性:解构赋值.这个章节代码片段有点偏多,不过可以放心,一点都不烧脑,还是老样子:简单易懂. 什么是解构赋值 按照一贯的套路,接下来的内容是解释:什么是 ...

  8. B站百大UP主党妹被黑客勒索!!!

    4月27日,哔哩哔哩视频网站的UP主“机智的党妹”发布消息称,自己被黑客勒索了.她的视频表示:“事发突然,我被勒索了,你也有可能继续被诈骗!这种诈骗的页面是由病毒程序自动生成并留在那里的.”根据她的介 ...

  9. Android 中 OkHttp 三步实现生命周期绑定

    简介 OkHttps 是 OkHttp 增强版的超轻量封装包. 和 Retrofit 相比,它更加轻量(只有 59Kb),是 Retrofit (124Kb)的一半,而且更加的开箱即用,API 更加自 ...

  10. 2019-2020-1 20199326《Linux内核原理与分析》第九周作业

    进程的切换和系统的一般执行过程 中断 中断在本质上都是软件或者硬件发生了某种情形而通知处理器的行为,处理器进而停止正在运行的指令流(当前进程),对这些通知做出相应反应,即转去执行预定义的中断处理程序( ...