一. 前言
前段时间我体验了一把简单的 DataWroks 的体验项目 ,通过 DataWorks 学习一把大数据是在干什么 。
后面在考虑业务使用的时候 ,也陆陆续续的体验了一些其他的功能 ,这里统一记录下。
这一篇主要针对数据的读取和写入 ,这是所有功能的基础。 在 DataWroks 中 ,数据的读和写叫数据集成
功能。
二. 数据集成
数据集成是 DataWorks 的核心功能之一 ,在功能上数据集成包括以下功能 :
- 数据源连接 : 可以接入多种不同的数据源,包括关系型数据库 ,大数据存储 ,非结构化存储 ,NoSQL 等
- 数据同步 : 在不同数据源之间进行数据同步 ,包括离线同步和实时同步
- 数据清洗转换 : 在同步的时候 ,对数据进行清洗、转换和格式化
- 复杂的逻辑处理 : 可以通过配置或编写脚本来实现复杂的数据处理逻辑
- 任务调度 : 定时执行调度任务 , 按照优先级和依赖分别执行调度
- 其他 : 比如监控 ,管理 ,质量控制等
从这一系列的功能中 ,其实还是围绕这一条主线 : 读 👉 处理 👉 写。
三. 浅浅的体验一下
DataWorks 对于数据源的处理和 绝大多数 数据处理工具一致 , 把数据源当成一个 可复用 的终端节点。
先来看看 DataWorks 支持的数据源
3.1 数据源 ?
我们稍微深入一下 : 很明显 ,不同的数据源 ,数据的格式 / 编码 / 模态 都是不同的。
那么在读取这些数据的时候 ,如何对数据进行处理呢?
S1 : 在阿里云上面简单准备了3个表
S2 : 在数据集成里面创建对应的数据源读取
阶段总结 :
- 全面 :一般能卖产品的, 其组件覆盖的数据源就已经非常全面了 @ 数据源列表
- 想当初用 Flink 同步数据 ,哪怕最简单的SQL式同步 ,都要写个SQL部署包,对比起来就麻烦多了
- 便捷 :整个配置可以看到 ,没有太复杂的
- 这里包括 OSS / Redis / Mongo DB 的配置 ,都非常简单
这里不是为了某个渠道打广告 ,不止阿里的工具 ,很多云平台都有类似的工具 , 使用方式上都大同小异。
会了一个其他的都会了 ,数据源就是一个个触点 ,把各种资源连接到大数据这张网上。
3.2 数据集成 ?
数据集成是第二步 ,再聪明的组件 ,也不可能毫无处理的情况下 ,就帮你把数据处理好 。 所以在同步之前 ,还是要实现一次离线同步的配置。
当我们在 同步任务 创建过程中 ,系统会引导我们来到这个页面 (在这里可以直接选择 3.1 的数据源)
- 后续的流程就不细看了 ,这里已经很轻松的适配了各个表的同步内容 ,零代码
阶段总结
和很多的数据处理工具一样 ,数据开发分为模块式 和 代码式 两种常见的集成方式。一般情况下 ,工具会提供完整零代码界面进行配置 ,对于 MySQL 这种常见的工具 ,基本上配置好就能使用。
同时还提供了很多特性功能 , 比如 :
- 支持在
导入前
执行特定的 SQL- 场景 : 数据导入前进行数据清空
支持执行日志
,可以在日志中明确的看到导入的结果和详情- 支持特定场景的
映射方式
,可以基于每行 ,也可以基于相同的名字 ,还可以通过手动处理
到了这里同步基本上就完成了 ,我们可以直接通过上面的 运行 箭头 ,运行一次数据的同步功能。
3.3 同步调度 ?
阶段总结 :
同步调度的目的是为了定时的触发任务的同步 ,比如每天跑一次数据的收集 ,把数据同步到 MaxCompute 等分析工具里面 ,这是非常有用的。
从界面里面 ,我们可以分析到一般的大数据框架都会带以下功能 :
- 调度参数 : 它可以使用系统自带的变量(比如当天的时间,上一天的时间),也可以手动输入固定参数
- 上游依赖 : 这个就挺有意思了 ,因为大部分的大数据操作,都是
线性
的 ,先拿 ,再算 ,最后录入。 依赖就是为了保证这种关系 - 调度策略 : 包括调度的触发频率 ,触发时间等
执行日志
四. 浅浅的总结一下
商用工具的文档很多 ,所以这里没有铺开去体验各种渠道 ,主要是为了对这些组件有一个清晰的认知。
- 商用贵 ,但是商用的也方便 ,比自己搭建 Flink / Spark , 然后写前端交互页面成本可能还要低一些
- 上手难度低 ,性能没具体体验过 ,感觉也还行, 毕竟可以 Servless 多节点同步 ,不会太差
- 可视化很重要 ,基本上都可以零代码配置 ,对开发人员的要求低
但是这种还是会有瓶颈 ,对于复杂的聚合,运算后输出的逻辑 ,最终还是要数据开发进行处理 ,这就不是简单的零代码可以解决的了。
四. 更高级的使用
到了这里一个简单的数据集成就完成了 ,剩下的无非就是扩展渠道 ,扩展数据源罢了。
一般的大数据工具都提供的是一个综合性的管理平台 ,而我们业务上更多的时候是为了进行数据的开发和处理。
同样到 ,该框架集成了数据开发的功能 ,可以很便利的进行数据开发处理。
既然使用的是 DataWorks ,这里顺带也薅羊毛试试 MaxCompute :
4.1 一个简单的数据转换同步
总结
人到中年家里事就多了 ,现在已经没有太多的业余时间去搞新东西了 ,也不知道这个系列会学到什么地步, 走走停停吧。
DataWorks 已经是一个产品级的应用了 ,里面很多东西都是现成的 ,开箱就可以用 ,上手感受了一下 ,其实不难
。
大家薅羊毛 ,免费3个月的体验试试就知道了。
体验感受
- 商用的大数据组件商用起来更加简单
- 但是封装的东西更多 ,有很多不适应的地方 ,你并不能进行修改,效率也不好控制
- 可能是新手 ,很多运行失败的地方不好分析出原因 ,也不知道怎么改
还有一篇 :
基于 SQL 的场景是很有限的 ,可能只适合简单的数据同步 ,而不是
复杂的大数据分析。
所以下一篇会说一说怎么通过 Python
实现代码级别复杂的处理和分析。
最后的最后 ❤️❤️❤️👇👇👇
- 👈 欢迎关注 ,超200篇优质文章,未来持续高质量输出 🎉🎉
- 🔥🔥🔥 系列文章集合,高并发,源码应有尽有 👍👍
- 走过路过不要错过 ,知识无价还不收钱 ❗❗