| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hive企业高级应用 -> 正文阅读 |
|
[大数据]Hive企业高级应用 |
一.数据仓库的架构设计 数据仓库的主要工作就是ETL ( Extract-Transform-Load) 1.2数据架构 架构原则:先水平,再垂直 数据架构分三层: 源数据落地区: (SDF source data file) 数据仓库层: DW Data WareHouse 数据集市层: DM Data Market 数据仓库层进一步分三层 源数据层:DWB Data WareHouse Base 细节数据层:DWD Data WareHouse 汇总数据层:DWS Data WareHouse Summary 源数据层: 存放生产系统的原始数据,清洗掉不符合质量的数据,主要是满足未来大量的不可预知的需求,该层数据通常需要永久保留 细节数据层: 按主题进行组织保留数据,数据粒度与生产系统一致,除了要满足当前可见的数据服务外,还要满足一定的不可预知的应用需求 汇总数据层 该层数据按主题进行组织,数据粒度与细节数据层保持一致 面向分析型应用进行细粒度的统计和沉淀,并为可预见的多个应用提供数据 二.数据仓库的建模: 概念定义: 数据模行是抽象描述现实世界的一种工具和方法 2.1 数据仓库建模的阶段发展: 简单报表阶段 数据集市阶段 数据仓库阶段 2.2数据建模的意义 进行全面的的业务梳理改进业务流程 建立全方位的数据视角,消灭信息孤岛和数据差异 解决业务的变动和数据仓库的灵活性 帮助数据仓库系统本身的建设 2.3如何构建数据模型 数据模型的层次划分 业务建模:主要解决业务层面的分解和程序化。 领域建模:主要是对业务模型进行抽象处理 逻辑建模:主要就是写sql 物理建模:生成表 2.4构建方法:范式建模法 维度建模法 实体建模法 2.5范式建模法: 建模方法:六大范式 第1范式-1NF:无重复的列、列不可再拆分。 第2范式-2NF:属性完全依赖于主键 第3范式-3NF:属性不依赖于其它非主属性,即属于依赖于主键不能出现传递依赖。 巴斯-科德范式(BCNF),第四范式(4NF),第五范式(5NF,又称完美范式) 优点:从关系型数据角度出发,结合了业务系统的数据模型能够比较方便的实现数据仓库的建模 缺点:限制了整个数据仓库模型的灵活性 2.6维度建模法: 按照事实表,维度表来构建数据仓库.常用的方法星型建模法,雪花建模法 星型建模法: 维度表全部直接关联到事实表 雪花建模法: 维度表并非全部关联到实习表中,有维度表关联维度表的情况 2.6.2星型建模法,雪花建模法的区别; 相同点:雪花模型都是属于星型模型的扩展,属于星型模型,两者都是围绕事实表,维度表展开模型构建,只是层次设计不近相同 差异点:星型架构是一种非正规化的结构,有一定的数据冗余 雪花模型:它对星型模型的维表进一步层次化, 2.6.2对比总结: 数据规范性:雪花胜于星型。 性能:雪花的表关联较多,并行性和计算性能上会低于性能上往往低于星型。 ETL开发:雪花关系多则关联多,代码量较复杂一些。而星型数据较集中,关联少,代码量会少一些。 实际使用,两者应用的均比较多,但星型略胜一筹。 2.7维度建模的优缺点: 优点:相比3NF星型模式在性能上占据明显的优势 仅围绕业务,可以直观反应业务模型的业务问题,不需要经过特别抽象处理 缺点: 需要进行大量的数据预处理,带来大量的数据处理工作 数据冗余大 维护成本增大 三.数据分析 定义:基于给定的大批量的源数据,通过数据统计分析相关的方法, 官方定义:数据分析是指用适当的统计分析(当下也包含机器学习等数据挖掘)的方法 3.2专业术语 OLTP 全称:on-line transaction processing。其是数据库的主要应用,主要是执行基本日常的事务处理,如数据库记录的增删查改. 特点: 实时性要求高,操作完后立马看见结果 数据量不大 交易一般是确定的 高并发,并且要求满足ACID原则 QPS 全称:Query per seconds ,每秒请求数 拿该指标作为系统的并发量最重要的衡量标准之一 数据库事务ACID四大特性 原子性:只有成功或者失败没有中间状态,如果执行错误会回滚到事务没开始执行之前 一致性:成功之后不会发生回滚 隔离性: 持久性:做的更改会持续存在于,不会发生回滚 3.3hive对数据分析的支持 函数分类 分析函数: ntile: 分组 row_number:按照顺序不关心是否有相等情况 rank:排序按照顺序,关心想等的情况 ,相等的情况,会留下空位 1,2,2,4,4,6..... dense_rank 关心相等的情况, 相等的情况不会留下空位 1,2,2,3,3,4,4,5,5.......... 例如颁奖 窗口函数: lag :lag(列名,往上几行,)第三个参数为默认值 lead: lead(列明,往下几行, )第三个参数为默认值 first_value:区分组内排序后,截止至到当前行,取第一个值 last_value: 取最后一个值 over()从句:指定分析窗口函数的细化落围规则 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:56:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |