一. 前言
薅羊毛啦 ,薅一下 阿里 DataWorks 的羊毛 ,来切身的感受一下大数据是在业务中扮演什么角色。
前置条件准备 :
- DataWorks 试用 : www.aliyun.com/product/big…
- MaxCompute 试用 : maxcompute.console.aliyun.com/cn-shanghai…
- (可能)NAT 网关 : 如果一键导入模板的时候,无法连接 OSS ,这里可能需要开一个 NAT 网关连接公网
- 切记切记 ❗❗❗ 按量付费会持续扣费 ,这里可能会产生费用 ,体验完了后及时关闭
二. 大数据基本概念
2.1 认识大数据的种种概念
先来一个官方的描述 :
大数据处理是通过处理海量、多样化、高速增长的数据,提取有价值信息的技术和方法。它的核心任务是从复杂的数据中发现规律、洞察趋势,并为实际问题提供数据驱动的解决方案
- 解释一下就是 : 海量数据 👉 提取信息 👉 产生价值
DataWorks 是什么 ?
DataWorks 是阿里云推出的一站式智能大数据开发治理平台 。 也就是说 , DataWorks 里面有的功能 ,我们就能认定为大数据领域最前沿的应用。
👉 那么在 DataWorks 里面 ,包含了哪些核心的功能 ❓
- 数据集成 : 负责 将数据从不同的来源采集、同步到目标存储的过程,主要解决数据采集和传输的问题
- 数据开发 : 负责对采集到的数据进行 处理、清洗、分析和建模 的过程,主要解决数据加工和价值提取的问题
👉 而在这个维度下面 ,又衍生出了一些功能 :
- 数据治理 : 对数据进行全生命周期的管理和规范化操作,确保数据的质量、合规性和安全性,主要解决数据管理混乱、质量不高的问题
- 数据分析 : 基于已处理和治理好的数据,挖掘数据中的价值,生成洞察和决策支持,主要解决数据利用率低、决策不科学的问题
- 数据血缘 : 指数据的来源、流向以及数据之间的依赖关系。通过数据血缘,可以清晰地了解数据的源头和去向,帮助用户更好地管理和分析数据
- 数据地图 : 提供了数据资产的统一管理和快速检索功能,帮助用户更好地查找、理解和使用数据
- 其他 : 比如运维调度 , AI 服务等 ,都是辅助性的功能
从这一片功能里面说 ,DataWorks 的核心应该就是 数据集成 和 数据开发 了
2.2 学一下其他的概念
数据湖和数据仓库 :
我们或多或少都听说过这两个概念 ,他们是有一定的区别的 :
- 数据湖(Data Lake)
- 定义:一种存储架构,用于存储原始的、未加工的数据,支持结构化、半结构化和非结构化数据。
- 数据仓库(Data Warehouse)
- 定义:数据仓库是一种存储架构,用于存储经过清洗、转换和建模的结构化数据,以支持高效的查询和分析。
❗也就是说 , 数据湖是什么数据都先拉过来 ,后面再根据情况取用。 而数据仓库在抽取数据的时候 ,就要对数据进行规整。
| 维度 | 数据湖(Data Lake) | 数据仓库(Data Warehouse) |
|---|---|---|
| 数据类型 | 支持结构化、半结构化、非结构化数据(如日志、图片、视频)。 | 仅支持结构化数据(如表格数据)。 |
| 数据存储 | 原始数据,未加工,存储灵活。 | 经过清洗、转换和建模后的数据,存储有严格的模式。 |
| 存储成本 | 存储成本低(基于分布式存储,如 HDFS、S3)。 | 存储成本较高(基于高性能数据库,如 Redshift、Snowflake)。 |
| 查询性能 | 查询性能较低,需结合计算引擎(如 Spark、Presto)。 | 查询性能高,优化针对复杂分析和报表。 |
| 数据处理 | 数据处理延迟高,需后续清洗和转换。 | 数据已清洗和转换,处理延迟低。 |
| 用途 | 数据存储、探索性分析、机器学习、实时流处理。 | BI 报表、决策支持、历史数据分析。 |
| 架构设计 | 扁平化存储,无需预定义模式(Schema-on-Read)。 | 预定义模式(Schema-on-Write),严格遵循数据模型。 |
ETL 是什么 ?
ETL 也是在学习过程中经常碰到的概念 ,ETL 是数据集成和数据开发的交集 。 ETL 主要是一种数据处理的方法论。 它主要分为 3 个阶段 :
- 提取(Extract) : 从多个数据源中提取数据 , 即可以是关系型/非关系型数据库 ,也可以是文件或者 API 接口。
- 转换(Transform): 对提取的数据进行清洗、转换和处理 。 包括但不限定于 数据清洗 / 数据转换 / 数据聚合 / 数据建模 .
- 加载(Load) : 将转换后的数据加载到目标存储中 ,可以保存到数据仓库 / 数据湖等任意资源里面
通过 ETL 这种方法论 ,我们就可以完整的看到一个数据的生命周期 : 拿过来 ,处理好 ,给出去.
人物画像是什么 ?
人物画像是通过对用户的行为、属性、兴趣等多维度数据进行收集、分析和建模,形成对用户的全面描述。它广泛应用于个性化推荐、精准营销、用户分群等场景。
- 人物画像主要集中在 : 基本信息 / 行为数据 / 兴趣偏好 / 消费能力 / 社交关系
- 人物画像的数据源主要包括 :用户注册信息 / 行为日志 / 交易数据 / 设备数据 , 社交等
👉 补充一下 ,人物画像最容易拿到的数据就是 行为日志 。
- 用户注册信息 是一次性信息 ,注册完很难触发实时变动。
- 交易数据 具有延后性 ,都买完了 ,只能推动二次消费。
- 行为日志 是最及时的一手信息 ,比如购物车信息,浏览信息等 ,如果能很好的实时处理 ,能推动消费的概率。
2.3 DataWorks 里面包含的各种组件
| 组件名称 | 功能描述 | 特点 | 使用场景 |
|---|---|---|---|
| MaxCompute | 阿里云自研的 EB 级大数据存储和计算引擎 | - 海量数据存储和计算 - 高性能 SQL 查询 - 支持离线数据处理 | - 数据集成 - 数据开发 - 数据治理 - 数据服务 |
| OSS (Object Storage Service) | 阿里云的对象存储服务 | - 高可用、高持久化存储 - 支持大规模数据存储 - 支持备份和恢复 | - 数据集成 - 数据治理 |
| MySQL | 关系型数据库 | - 支持结构化数据存储 - 高性能查询 - 广泛应用 | - 数据集成(作为数据源) - 数据开发(数据同步) |
本系列文章核心上主要涉及这3种 ,除了这3种 ,其他常见的还包括 :
- E-MapReduce:基于 Hadoop 和 Spark 的大数据处理平台,支持实时和离线处理。
- Hologres:交互式分析数据库,支持实时分析,与 MaxCompute 无缝对接。
- AnalyticDB:高性能分析型数据库,适用于大规模数据仓库。
- CDH (Cloudera Data Hub) :基于 Cloudera 的大数据平台,支持 Hadoop 生态和灵活资源管理。
- Oracle / OceanBase / PolarDB / SQLServer:企业级关系型数据库
- Kafka:分布式消息队列,支持实时数据流处理。
- LogHub:日志服务,支持实时日志采集和查询。
- DataHub:数据通道服务,支持实时数据接入和分发。
- OTS (Table Store) :NoSQL 数据库,支持大规模存储和查询。
- MongoDB:开源 NoSQL 数据库,支持文档存储和高性能查询。
这也标识了大数据数据集成的一大特性 : 从任意的数据源集成数据。
三. 开始薅羊毛 (会产生少许NAT网络费用,少量充值)
注意 : 核心的操作内容都在👉👉👉(看这个) 官方文档 里面写好了 ,这里主要是操作过程卡顿点的补充
3.1 进入首页一键导入
👉 过程补充 :
- 如果这里使用的是
一键创建空间和数据源,那么这里就可以直接跳到👆上面文档 任务开发环节 照着操作了 - 步骤二 : 为资源组开通公网 比较重要 ,如果后面 OSS 调不通 ,这里要照着操作(会有费用)
- 工作空间 会有一个默认的 ,这里不需要额外创建
如果下面连接不上数据源 ,这里需要开通 NAT 网关
3.2 看看数据集成
👉 过程补充 :
- 这里很明显可以看到数据集成的特性 ,它从 MySQL 中抽取了用户基本信息 。 又从 OSS 里面拿日志信息
- 同时 MaxCompute 即是数据开发的处理引擎 ,同时本身也带有了一定的数据存储功能
- 所以 ,我们可以在这里看到3个数据源 。
👉 一点感悟 :
这种企业产品性质的工具 ,其核心的一大卖点就是数据源集很简单 , 只需要简单的配一配就能使用 . 不像早期自己搭 Flink ,写数据同步还挺麻烦 ,要引包写代码 ,还是很麻烦的。
3.3 学一学数据开发
👉 过程补充 :
- 这里可以看到 ,有两个数据源和执行SQL, 分别抽取Log 和 查询关系数据库。
- 这里可以仔细看看 ,其中有几个重要的点 :
- 不是所有的操作都是通过 SQL 去实现的 ,有些复杂的操作可以调用函数 ,在函数节点下可以看到
- 日志也是可以通过 SQL 解析的 , 这属于特定功能 ,通过 SPLIT 对单文本进行裁切
- 除了 SQL ,还支持 Python 脚本等形式 (Java / DataStudio 等)
👉 一点感悟 :
如果列位用过Flink 可能就会比较清楚 ,通常 SQL 的处理只是针对一些格式很规范且没有太复杂逻辑的场景。
在大多数场景中 ,写脚本才是主要的数据处理方式。要做很多逻辑操作和数据转换,脚本会更好用一点。
3.4 运行一下
👉 过程补充 :
- 简单运行一下 ,数据就出来了 ,还是很简单的
- 从这个角度能衍生出很多其他的处理 ,例如消费 ,浏览 等各种日志
总结
整个环节很简单 ,这篇文章的目的也主要是结合概念 ,把整个环节试着操作一下 ,记录下来做个备份 。 顺便分享给想了解这一块的小伙伴们。
大数据这一块我也只是一个初学者 ,如果有说错的地方 ,欢迎指正。
后续会针对人物画像 + 营销 ,结合现阶段的生产场景进行更复杂的使用 ,除了学习 ,更重要的是为了业务的增长 。
欢迎关注哦 !!
最后的最后 ❤️❤️❤️👇👇👇
- 👈 欢迎关注 ,超200篇优质文章,未来持续高质量输出 🎉🎉
- 🔥🔥🔥 系列文章集合,高并发,源码应有尽有 👍👍
- 走过路过不要错过 ,知识无价还不收钱 ❗❗