成为高级数据架构师的三个必杀技
极客时间编辑部
讲述:丁婵大小:8.63M时长:06:17
你好,欢迎收听极客视点。
此前,奇点云高级数据架构专家天启发文详细描述了成为高级数据架构师的所需技能,必备技能是掌握一门开发语言和一种数据库,此外还有三个必杀技:大数据技术、数据仓库、ELT 技术。
必杀技 1:大数据技术
大数据解决了分布式存储和分布式计算的问题,简单说就是可以进行弹性扩展,存储资源无限扩展,计算资源无限扩展。这样就可以解决小型机和一体机无法解决的计算和存储问题。所以,学习大数据最好的方式就是搭建一套开源的 Hadoop 集群,在上面操作 HDFS、Hive、Spark、HBase 等各种组件。
实践场景
需求描述:从 MySQL 数据库把两张表导入到 Hadoop,然后通过 Hive 进行计算,结果数据同步回 MySQL 数据库。
可能遇到的问题以及解决方案如下:
1. 同步工具的选择
待选的同步工具有 Sqoop 和 DataX,各有各的优势。
2. 数据加载方式
Hive 的底层是 HDFS,简单说就是个文件,Hive 只是映射过去,通过类 SQL 语言实现计算。你可以直接通过 Hive 接口(三种方式)建内部表,Sqoop 和 DataX 都支持直接同步到 Hive 中。
3. 转化方式
这是模拟过程,Hive 不支持存储、不支持 update,所以可以进行两张表数据聚合后数据插入到另一张表中,再把数据同步回 MySQL。
4. 流程如何串起来
可以通过 Linux 的 shell 脚本进行串联,数据同步、数据转化、数据导出。
5. 如何启动流程
所有任务封装到 sh 脚本里,可以利用 Linux 的 crontab 进行定时调度。
必杀技 2:数据仓库
1. 初步学习
初步接触数据仓库时,建议先看维度模型,了解什么是事实表,什么是维度表。做一张事实表,定义哪些是维度、哪些是度量,然后通过 SQL 进行查询。有了基本概念后,可以再学习深度的内容,例如星型模型、雪花模型。
进阶则可以学习维度建模:选择业务过程 - 声明粒度 - 确定维度 - 确定事实,如果能亲身参与一个项目就更好了。
2. 步入设计
首先要了解数据仓库的分层,然后,了解事实表的类型(事务、周期快照、累计快照)、维度表的类型(普通维度、缓慢变化维度)、总线矩阵、数据立方体(cube)等。
3. 高阶学习
维度建模实践后,发现维度建模的不足,那么是时候可以开始研究其他建模了。建议通读并理解数据仓库之父 Bill Inmon 的范式建模和 Kimball 大师的维度建模,两者的建模各有优劣,可以取长补短。
4. 解决业务问题
数据模型最终解决的是业务问题,目前常见的建模以维度建模为主,但是维度建模不停的在变化,Bill Inmon 提出了 datavault 的建模思想,数据仓库、数据平台、数据中台、数据湖等概念层出不穷。本质不变,目标还是解决实际的业务问题。
数据仓库的规划也可以自顶向下,采用 Inmon 的思想,开发和建模规范也要考虑全局,而在实施中可以采用维度建模,自底向上,采用 Kimbal 思想,落地快,迭代快。实际解决问题时不拘泥于一个模型,什么模型合适就用什么模型。
5. 模型标准
数据模型没有好坏,只有用得对错。判断的标准也很简单,有没有解决业务问题?更高的要求是有没有驱动业务的变革或者创新。大白话来说就是两个问题:挣到钱了吗?省下钱了吗?
必杀技 3:ELT 技术
传统的 ETL (Extract-Transform-Load)是把 T 的部分放在中间的,在大数据环境下,会把 T 放在后面,从 ETL 向 ELT 进行演变。原因也很简单,这样可以充分利用大数据环境 T 的能力。数据开发也平台化了,例如阿里的 DataWorks、Dataphin,将数据同步、清洗转化、任务调度集成在一起。
E(Extract,抽取)和 L(Load,装载)的优化需要懂源头和目标数据库(数据仓库)的特点,需要根据情况进行优化。T(Transform,转化)部分要理解底层技术原理,进行优化。ELT 的注意点总结如下:
时效性:必须在规定时间内跑完数据,跑出结果;
准确性:数据计算结果必须准确;
容错性:ELT 可以支持重跑、补数等功能;
前瞻性:及时告警和预警功能,提前处理问题。
加分项
除了上述三个“必杀技”之外,还有两个加分项,应用系统和算法。
一个应用系统一般会有前端、后端和数据库,对于数据架构师,至少要知道,怎么开发一个系统,怎么保证一个系统的稳定。特别是“稳定”,你要对高可用、负载均衡、安全有深刻的认识,需要考虑到应用(Tomat)、数据库(MySQL)、其他中间件(缓存服务、文件服务等)。在做架构决策时,知道哪些操作可能会影响业务系统,才能设计更好的数据架构。
DT 时代已至,未来一定是“数据 +AI”的天下。所以作为数据架构师,你可以不会写算法,但要了解且会使用算法。这里的算法主要指机器学习算法,初学者可以理解下预测、分类(聚类)的概念,其实很多图像和语音识别的算法也可以归为预测和聚类算法中。
以上就是今天的内容,其实,无论是什么岗位,自学能力都很重要。你可以为自己建立一个知识目录或知识索引,按照知识索引去查漏补缺,不断丰富自己。

公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- David我已经超越了,为什么还没有年薪百万,提前退休?4
- 穿越时间与空间的旅行家我已经满足了,为啥我还是程序员🤦♂️4
收起评论