阿里巴巴大数据之路读书分享
文章目录
前言
《阿里巴巴大数据之路》业内公认好书,几乎人手一本,奈何绝版了。托公司的福,有幸拜读此书。特分享下本人的所读所感。
本人将借用两张图来介绍此书,其一阿里巴巴的大数据系统的体系架构图,有利于系统全面了解阿里巴巴的数据平台。其二模型实施过程图,也是与本人现从事的工作密切相关。
阿里巴巴大数据系统的体系架构图及介绍
阿里巴巴的大数据系统的体系架构图,从图中可以清晰地看到数据体系主要划分为数据采集层、数据计算层、数据服务层及数据应用层,使人对数据体系有个整体的概念。后面的内容就是围绕这张图展开的。
数据采集层
数据采集
阿里巴巴数据采集体系包括量大体系:Web端和App端,Aplus.JS是Web端的日志采集方案;UserTrack是App端的日志采集方案。
Web端日志采集介绍了,浏览器页面日志采集和交互日志采集,交互日志采集(即 “黄金令牌”)是一个开放的基于HTTP协议的日志服务。
无线客户端日志采集采用采集SDK来完成,移动端日志采集根据不同的用户行为分成不同的事件,基于常规分析把事件分为页面事件和控件点事件及其他特殊场景。
相比于阿里大多公司对于数据采集的现状:由于长期经营线下,对于web,app等的主动采集能力是偏弱的,一般数据管理部门对于web或app端的采集基本是源端推送过来的文件,对于采集没有实际主导权,同时无论是web的js脚本还是app的sdk,实际上都是有一定的技术门槛。
数据传输
阿里巴巴的数据同步分为批量同步与实时同步,批量同步结构化数据采用DataX框架进行同步,实时数据同步采用TimeTunnel中间件进行解析同步数据库系统binlog日志或归档日志等。在数据同步过程中对一些问题进行了处理,值得借鉴:
1.现在分库分表越来越多,对于数据同步的配置越加复杂,阿里巴巴的TDDL分布式数据库访问引擎,通过建立中间状态的逻辑表来整合统一分库分表的访问。
2.数据同步过程中相似且重复的工作特别多,阿里巴巴通过oneClick产品,真正实现了数据的一键化和批量化同步,一键完成DDL和DML的生成,数据的冒烟测试以及生产环境中的测试等。
3.数据时间漂移的处理:多获取一部分第二天的数据(比如跨日以后的15分钟),然后根据可以判断业务时间的字段,过滤,排序等方式来得到需要的数据。
数据计算层
离线数据开发
1.离线计算平台Maxcompute。Maxcompute由SQL、MR、Graph、Spark、R、Volume组件组成。
2.统一开发平台有在云端(D2)、SQLSCAN、调度运维系统、DQC、在彼岸几大功能模块组成。
其中D2是集成任务开发、调试及发布、生产任务调度及大数据运维、数据权限申请及管理功能的一站式数据开发平台,并能承担数据分析工作台的功能。