数据仓库实战教程

1,654 阅读9分钟

数据仓库实战教程

读者交流群已经开通了,有需要的可以私信进入读者交流群

数据仓库已经是企业的数据竞争的核心了,学好数据仓库对提高自己和找到一份好的工作都至关重要,但是很多人对数仓的印象还是停留在写SQL的层面,其实今天的数仓更像是一个数据平台应用,我们学习的大数据技术其实最终的价值都体现在数据服务上,数仓是数据服务的基石,如果说业界以前还有离线和实时之分的话,那么现在实时数仓的提出与落地,未来数仓将是数据战争的最激烈的战场,一切大数据技术都将为数仓提供服务,也都将在数仓这一环节进行收口。

本专栏主要专注于数仓工具学习、数仓建模以及业务建模、SQL 实战和平台建设,最后以3家公司的数仓建建设和实时数仓作为结尾项目,这份教程有以下特点

  1. 知识体系完善,从数仓的概念、建模、数仓工具的使用、数仓的落地实践都有,还会有很多小案例,例如股票的连续涨停天数计算,最大涨停板的概率计算,会话分析,复杂时间序列匹配等
  2. 使用的技术都是当前企业最常用的技术,版本也是比较新的,不会导致大家看到一个代码,然后一执行发现语法不支持或者废弃掉了
  3. 后续的更新也会很及时,不会说更新了一段时间断更了,在更新完大纲之后,我也会不断完善该系列,不断添加新的知识点
  4. 创作团队都是在企业一线员工,实战多于理论,还有很多经典的面试题,例如拉链表的优化、计算连续登陆、连续增长、最大在线用户数

适合人群

  1. 小白对数仓感兴趣同学
  2. 有数仓经验但是缺乏全面认识的同学

1. 数仓建模

数仓建模—数仓初识

数仓建模—数仓架构发展史

数仓建模—数仓建模方法论

数仓建模—分层建设理论

数仓建模—数据治理

数仓建模—指标体系建设

数仓建模—数据模型

数仓建模—宽表的设计

数仓建模—埋点设计与管理

数仓建模—ID Mapping(上)

数仓建模—ID Mapping(下)

数仓建模—OneID落地实践

数仓建模—数据集成

数仓建模—元数据管理

数仓建模—自助分析

数仓建模—建模工具PDMan(CHINER) 入门介绍

数仓建模—事实表

数仓建模—维度表

数仓建模—数仓建模实战(建模流程/建模工具)

数仓建模—数仓建模—数据集市(DM)

数仓建模—总线矩阵

数仓建模—数据安全

数仓建模—数据域

数仓建模—数据质量

数仓建模—数仓开发规范

数仓建模—实时数仓架构发展史

数仓建模—数据地图

数仓建模—数仓建模和业务建模

数仓建模—雪花模型和星型模型

数仓建模—OneData体系

数仓建模—数据资产管理

数仓建模—事实表和维度表设计规范

数仓建模—表设计规范

数仓建模—数据同步方案设计

数仓建模—美团DB数据同步到数据仓库的架构与实践

数仓建模—数据领域常见概念与职位划分

数仓建模—用户画像

数仓建模—数据驱动业务

数仓建模—主数据管理

数仓建模—数据治理的本质与实践

数仓建模—用户旅程地图

数仓建模—数据仓库即服务

数仓建模—数据安全平台建设实践

数仓建模—数据水印

2. 数仓工具

1. Hive

1.Hive 基础篇

1. 什么是Hive

2. Hive的编译安装

3. Hive表的基础操作

4. Hive数据的组织管理方式

5. Hive内部表和外部表

6. Hive动态分区

7. Hive命令行

8. Hive基本数据类型

9. Hive复合数据类型

10. Hive Streaming

11. Hive关键字

12. Hive函数大全

13. Hive的架构设计

14. Hive架构之HiveServer2

15. Hive的其他语言调用

16. Hive架构服务

17. Hive的严格模式和本地模式

18. Hive的执行引擎

19. Hive视图和物化视图

20. Hive UDF

21. Hive Metastore

22.MetaStore的standalone模式和高可用

23.Hive基础之设置变量

24. 报错后退出执行

2.Hive 语法篇

1. Json 解析

2. like rlike regexp

3. explode 和 lateral view

4. with as和from

5. Order by, Sort by ,Dristribute by,Cluster By

6. grouping sets

7. cube和rollup

8. map join、reduce join、smb join

9. 窗口函数初识 max count sum

10. 窗口函数row_number、rank、dense_rank

11. 窗口函数ntile

12. 窗口函数first_value和last_value

13. 窗口函数lead和lag

14. 窗口函数cume_dist和 percent_rank

15. 窗口函数练习和总结

16. Hive语法之抽样

17. collect_set 和 collect_list

18. 行列转换

19. Hive语法之子查询

20.Hive语法之物理分组

21.Hive语法之复杂json解析处理

22.Hive语法之with扩展

23.Hive语法之Merge 语句

24.Hive语法之join 扩展

25.Hive语法之连续full join主键重复

3.Hive 进阶篇

1. Hive进阶之索引

2. Hive进阶之事务初识

3. Hive进阶之事务深度剖析

4. Hive进阶之执行计划

5. Hive进阶之数据存储格式

6. Hive进阶之数据压缩配置与格式

7. Hive进阶之SerDe

8 Hive进阶之权限管理

10. Hive优化指南

11.Hive进阶之优化map任务数量

12.Hive进阶之优化reduce任务数量

13.Hive进阶之优化小文件问题

14.Hive进阶之谓词下推

15.Hive进阶之归档

16. Hiv进阶之MSCK

17. Hive进阶之Hive中的锁

18.各种join 的执行计划

19. InputFormat 和 OutputFormat

20.MultiDelimitSerDe

21. 查询最佳实践

21. Statistics与Analyze Table命令

22. 表设计最佳实践

23.性能优化最佳实践

4.Hive 源码篇

1. 源码环境搭建

2. cli 模块

3. CliDriver

4. Beeline/HiveCli

5. 扩展篇Thrift

6.SQL 解析

7.SQL解析之Antlr入门

8. SQL解析Antlr进阶

9. SQL解析的应用SQL优化

5. Hive 实战篇

1. Hive实战之UDF分词

2. Hive实战之UDF IP 解析

3. Hive实战之UDF SQL 解析

4. Hive实战之拉链表

5. Hive实战之用户行为记录session分割

6. Hive实战之最大连续登陆

7. Hive实战之留存分析

8. Hive实战之各种join的经典应用

9. Hive实战之漏斗分析

10. Hive实战之累计计算

11. Hive实战之占比同比环比

12. Hive实战之自关联经典案例

13. Hive实战之日活跃周活跃月活

14. Hive实战之full join 经典案例

15. Hive实战之UDF外部依赖文件找不到

16. Hive实战之对比分析

17. Hive实战之事件序列匹配/复杂事件处理

18. Hive实战之UDF GIS

19. Hive实战之描述性计算

20. Hive实战之滑动/滚动时间窗口计算

21.Hive实战之UDF 复杂JSON 处理

22.Hive实战之UDF汉字首字母

23. Hive实战之生成连续序列

6. Hive 集成篇

01.Hive集成篇之ES

02. Hive集成篇之ClickHouse

03. Hive集成篇之Kafka

7. Hive 优化实战篇

1. 用户画像亿级数据表关联

2.UDAF批量调用外部请求

2. 高性能查询引擎

1.Spark-SQL

1. Spark 初识

2. Spark SQL 初识

3. 股票数据分析

4. 股票打板策略分析

2.Impala
3.Presto
4.Druid
5.Clickhouse

ClickHouse初识

Clickhouse—基础架构

Clickhouse Docker部署

Clickhouse 数据入库

Clickhouse表引擎—MergeTree系列

Clickhouse表引擎—日志系列引擎

Clickhouse引擎—数据库引擎

Clickhouse表引擎—集成系列引擎

ClickHouse—物理机部署

Clickhouse—实用工具

Clickhouse—实用工具obfuscator

Clickhouse—基础数据类型

ClickHouse—复合数据类型

ClickHouse—DML操作

Clickhouse—DDL 操作

Clickhouse—时间函数

Clickhouse—字符串函数

Clickhouse—算数函数/哈希函数/条件函数 运算符

Clickhouse—数组函数

Clickhouse—聚合函数

Clickhouse—聚合函数组合

Clickhouse—其他函数

Clickhouse—时间窗口函数

Clickhouse—数据字典

Clickhouse—MergeTree 数据生命周期

3.数据同步工具

sqoop

Sqoop

sqoop 2.x

datax

DataX 初识

DataX部署使用

DataX—Web部署使用

Maxwell

Maxwell 初识

Maxwell 实践应用

4. 数据湖

数据湖—数据湖初识

数据湖—数据湖再识

数据湖—Delta Lake 概论

数据湖—Delta lake 与湖仓一体

数据湖—Spark SQL Scala版 使用 Delta Lake

数据湖—Spark SQL Shell 版 使用Delta Lake

数据湖—Spark SQL SQL 版 使用 Delta Lake

数据湖—Spark SQL Python 版 使用 Delta Lake

数据湖—Spark Streaming 使用 Delta Lake

数据湖—Delta Lake 事务日志

数据湖—Delta Lake 事务日志实践

数据湖—Delta Lake 时间旅行

数据湖—Delta Lake 版本管理

数据湖—Delta Lake DML 内部原理

数据湖—Delta Lake 1.0 版本功能预览

数据湖—Delta Lake Schema 约束与演化

数据湖—Delta Lake 并发控制

数据湖—Delta Lake 实践指南

数据湖—Delta Lake与实时计算

5. 调度工具

1. 调度工具的使用
2. 调度工具整合

首先我们会创建常用的脚本然后配合配合数仓的SQL 进行数仓的整体的调度,脚本的话我们主要有抽数的脚本、执行SQL的脚本、监控的脚本、发布脚本

当然我们还会引入版本管理工具,管理我们的SQL和脚本,然后进行发布

6. 元数据管理工具

7. 监控工具

8. 报表工具

9. 实时数仓

10. 数据资产

3. 数仓实战

1. K12赛道Top公司的数仓建设案例

2. 知名游戏公司的数仓建设案例

3. 大型支付公司实时数仓建设案例

总结

以hadoop 作为基础生态,从0到进行数仓建设,主要分为基础篇和实战篇两部分,基础篇主要是各种组件的学习和案例,实战篇主要是三家企业的数仓设计案例,最后是扩展篇主要是实时数仓。