目录

一、数仓分层

1、 为什么要分层

2、数据集市和数据仓库概念

3、数仓命名规范

3.1 表命名

3.2 脚本命名

3.3 表字段类型

二、数仓理论

1、范式理论

1.1 范式概念

1.2 函数依赖

1.3 三范式区分

2、关系建模与维度建模

2.1 关系建模

2.2 维度建模

3、维度表和事实表

3.1 维度表

3.2 事实表

4、维度模型分类

5、数据仓库建模

5.1 ODS层

5.2 DIM层和DWD层

5.3 DWS层与DWT层

5.4 ADS层

三、数仓环境搭建

1、Hive环境搭建

1.1 Hive

1.2 Hive on Spark

1.3 Hive on Spark

2、Yarn配置

2.1 增加ApplicationMaster资源比例

3、数仓开发环境

4、数据准备


一、数仓分层

1、 为什么要分层

2、数据集市和数据仓库概念

3、数仓命名规范

3.1 表命名

  • ODS层命名为ods_表名
  • DIM层命名为dim_表名
  • DWD层命名为dwd_表名
  • DWS层命名为dws_表名
  • DWT层命名为dwt_表名
  • ADS层命名为ads_表名
  • 临时表命名为tmp_表名

3.2 脚本命名

  • 数据源_to_目标_db/log.sh
  • 用户行为脚本以log为后缀;业务数据脚本以db为后缀。

3.3 表字段类型

  • 数量类型为bigint
  • 金额类型为decimal(16, 2),表示:16位有效数字,其中小数部分2位
  • 字符串(名字,描述信息等)类型为string
  • 主键外键类型为string
  • 时间戳类型为bigint

二、数仓理论

1、范式理论

1.1 范式概念

1.2 函数依赖

1.3 三范式区分

第一范式:

第二范式:

这里的部份依赖是和主键有关,再拆分成两张表的时候,不仅把部分依赖消除了,同时也消除了部分数据冗余

第三范式:

2、关系建模与维度建模

关系建模和维度建模是两种数据仓库的建模技术。关系建模由Bill Inmon所倡导,维度建模由Ralph Kimball所倡导。

2.1 关系建模

2.2 维度建模

3、维度表和事实表

3.1 维度表

维度表:一般是对事实的描述信息。每一张维表对应现实世界中的一个对象或者概念。    例如:用户、商品、日期、地区等。

3.2 事实表

事实表中的每行数据代表一个业务事件(下单、支付、退款、评价等)。“事实”这个术语表示的是业务事件的度量值(可统计次数、个数、金额等),例如,2020年5月21日,宋宋老师在京东花了250块钱买了一瓶海狗人参丸。维度表:时间、用户、商品、商家。事实表:250块钱、一瓶

每一个事实表的行包括:具有可加性的数值型的度量值、与维表相连接的外键,通常具有两个和两个以上的外键。

事实表的特征:

  • 非常的大
  • 内容相对的窄:列数较少(主要是外键id和度量值)
  • 经常发生变化,每天会新增加很多。

4、维度模型分类

在维度建模的基础上又分为三种模型:星型模型、雪花模型、星座模型。

5、数据仓库建模

5.1 ODS层

5.2 DIM层和DWD层

5.3 DWS层与DWT层

5.4 ADS层

对电商系统各大主题指标分别进行分析。

三、数仓环境搭建

1、Hive环境搭建

1.1 Hive

Hive引擎包括:默认MR、tez、spark

Hive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。

Spark on Hive : Hive只作为存储元数据,Spark负责SQL解析优化,语法是Spark SQL语法,Spark负责采用RDD执行。

1.2 Hive on Spark

1.3 Hive on Spark

2、Yarn配置

2.1 增加ApplicationMaster资源比例

3、数仓开发环境

数仓开发工具可选用DBeaver或者DataGrip。两者都需要用到JDBC协议连接到Hive,故需要启动HiveServer2。

4、数据准备

数仓学习笔记(3)——数仓建模理论相关推荐

  1. 数仓学习笔记(5)——数仓搭建(DWD层)

    目录 一.数仓搭建--DWD层 1.DWD层(用户行为日志) 1.1 日志解析思路 1.2 get_json_object函数使用 1.3 启动日志表 1.4 页面日志表 1.5 动作日志表 1.6 ...

  2. 数仓学习笔记(4)——数仓搭建(ODS层和DIM层)

    目录 一.数仓搭建-ODS层 1.ODS层(用户行为数据) 1.1 创建日志表ods_log 1.2 Shell中单引号和双引号区别 1.3 ODS层日志表加载数据脚本 2.ODS层(业务数据) 二. ...

  3. 数通学习笔记1 - 数据通信网络基础

    数通学习笔记1 - 数据通信网络基础 数据通信网络基础 数通学习笔记1 - 数据通信网络基础 前言 一.通信与网络 1. 什么是通信.什么是网络通信? 2. 信息传递过程 3. 数据通信网络 二.网络 ...

  4. python反转一个三位数的整数_Python学习笔记3-整数反转

    Python学习笔记3-整数反转 题目: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: - ...

  5. 嵌入式系统设计师学习笔记①:数的进制转换

    嵌入式系统设计师学习笔记:数的转换 进位计数制系统的基本概念:数制,基数,数码,数位,位权 制作了个表格如下: 在十六进制中:A-10,B-11,C-12,D-13,E-14,F-15. 举例各种进制 ...

  6. DMU-参数介绍-学习笔记1

    DMU软件介绍 DMU是一个数量遗传学工具包,主要功能包括估计方差组分和固定效应,预测育种值.DMU的开发历史可以追溯到25年前,大部分功能基于数量遗传学研究的需求而开发.在丹麦动物育种研究中,DMU ...

  7. 【数据库学习笔记】Day06 - 关系数据库规范化理论

    [数据库学习笔记]Day06 - 关系数据库规范化理论 目录 一.关系数据库中存在的数据冗余问题 二.函数依赖 三.关系规范化 一.关系数据库中存在的数据冗余问题: 以学生信息表为例: 该关系模式存在 ...

  8. 数分学习笔记 vol.1 <游戏数分基本工作内容>

    写作目的 快要脱离学生身份了,但为了在未来的工作中不被淘汰,个人认为继续学习是必须的.因此写下了这个博客,希望自己能在工作中不断积累,总结经验,不断提升. 所有内容仅代表个人的想法和感悟,如有不同意见 ...

  9. C语言学习笔记08-函数、变量作用域{}

    C语言自定义函数 函数 / 方法(面向对象语言),将功能重复的代码段(原始的方式是cv)提取抽象出main方法外,将其放入一个新的函数中,从而在main中只需要调用该函数就可完成一项复杂的工作,代码会 ...

最新文章

  1. Java比较数量怎么比较_java - 如何在Java数量比较字符 - SO中文参考 - www.soinside.com...
  2. 表面缺陷检测数据集汇总及其相关项目推荐
  3. BCH正式升级,智能合约,逐梦而来!
  4. Replication--镜像+复制
  5. python读取txt文件并画图
  6. 斯特林公式(Stirling's approximation)
  7. android 阻尼动画,Android拉伸阻尼效果实现
  8. macOS Big Sur正式版发布!Big Sur安装失败?更新时卡住了怎么办?
  9. echarts中国地图3D各个城市标点demo
  10. ES11新特性_可选链操作符---JavaScript_ECMAScript_ES6-ES11新特性工作笔记064
  11. python数据结构与算法知识点_数据结构和算法基础知识点(示例代码)
  12. 高等代数第3版下 [丘维声 著] 2015年版_2020年成人高考 专升本 高等数学复习攻略...
  13. vfp保存为html,vfp向HTTP发送文件
  14. 团队成员筛选的核心秘档:三否三拒三不动
  15. gentoo php,Gentoo 下安装 PHP 扩展
  16. IOS UIView详解
  17. OpenInfra Days China 2020大会议程已上线,快来报名参加!
  18. CentOS7使用yum安装MySQL——指定版本
  19. sqli-labs11-22关闯关心得与思路
  20. 使用git log统计代码行数

热门文章

  1. V模型和W模型的区别是什么?
  2. 软件测试的W模型和V模型
  3. H3C BGP基本配置实验
  4. 图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi
  5. VMware虚拟机三种网络模式详解 Bridged(桥接模式)
  6. 接上篇(解决float导致塌陷问题)之clear:both失效
  7. 第8季2:OSD实验演示与代码分析
  8. EndPoint学习之路_02:EndPoint产品讲解一指禅
  9. Ubuntu卡死在登录界面进不去的处理方法
  10. 大学计算机基础考试2试题,2016大学计算机基础试题及答案(2)