阿里数据仓库实践分享-阿里云开发者社区

开发者社区> 阿里巴巴大数据计算> 正文

阿里数据仓库实践分享

简介: 数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

摘要

数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

c91cc4a4af27d7d23aa994581cb03517dbb604b5 

现场分享视频地址:https://v.qq.com/iframe/player.html?vid=v0547ee0whs&width=670&height=376.875&auto=0

基础05398f1291d7db274b7d17aeea524dc53b11a55c

搭建数据仓库主要需要建模的能力,还要沉淀一些维度表。除此之外还要不断地挖掘数据,来把模型建得更好。


a15abdaa8c918c3749b106f4d5a1603b807ecf7b
a1cdd59c2a9e086bbf99b1a7fafe0039220a3766

应该做的几件事

在得到活动数据后,要把这些数据投入到数据仓库中,并且做以下几件事:

808fe0f074ce35006162d83058bf4cc5e7703cac

用户或者实体的识别需要统一。


PC和无线端的数据打通。


围绕实体和跨业务间的事实数据打通。


重要事实表的维度冗余。


用户画像或客户画像。



有怎样的市场价值


62b354ce1412677c831d4078b153602c49f56fe6

目前我们已经积累了很多用户数据,这些数据都是非常宝贵的资源,我们基于这些数据做了一些开发利用。


搭建了数据仓库就可以把用户分析的数据用来做个性化推荐、定向营销、风控等等。


数据仓库的市场价值在于需求场景驱动的集市层建设,各集市之间垂直构建。


集市层深度挖掘数据价值,并需要能够快速试错。


b62655b90bcc2e8d466fcf0d94eaef58b4f981f8

以阿里金融在后台大数据中的运行过程为例,我们会从关系数据库中把用户相关的所有数据全部导入到MaxCompute中,然后记录用户的一些操作日志,比如登录过哪些网站、浏览过哪些商品,有怎样的喜好。还有一些其它数据,可能是从其它系统过来的。我们把这些数据做一个汇总分析,最终把这些数据导出到业务系统中,也有一个统计服务。这样当用户来进行征信贷款的时候,我们很快就可以定位到这个用户是否符合征信要求,并迅速进行审批。


3184e054427ff4e3bcd4291325375704a1addaed

如上图所示,DataWorks主要依赖于MaxCompute。右边是阿里云目前提供的一些基础组件。集成开发环境这一块是可视化的,比如在工作流设计器上做工作流和应用调度,在里面进行配置。


我们提供了一个Web页面的代码编辑器,支持MR、SQL等等。还有一个代码调试器,写过的代码可以直接在这里进行调试。有了代码仓库就能保留好几个版本,并预览之前保存的版本。


调度分为资源调度和工作流调度两部分。工作流调度与前面的工作流是息息相关的,在工作流设计器中设计成一个工作流的话,底层的调度会按照顺序进行调度。资源调度和底层网关集群的资源是相关的。


数据治理中主要是任务监控和数据质量。

大数据开发核心流程

当我们接到一个需求,首先会进行需求分析,然后做工作流设计,比如这个任务是什么时候跑的、依赖于哪些业务。工作流设计完成后进行数据采集和数据同步。接下去就是数据开发,我们提供了WEB-IDE,支持SQL、MR、SHELL和 PYTHON等。然后我们提供了冒烟测试的场景,测试完成后发布到线上,让它每天定时进行自动调度,并进行数据质量监控。以上步骤都完成后,就能把我们的数据环流到业务系统库,或者用QuickBI、DataV这些工具进行页面展现。

e17f7bc88b056b192e6805c378d3649a53028f1a

5104dea413fd7911bb2ad90e652be25609fb02f7

5452d373cfee1edb4269ea04af59aedd0791596e0db3448410ebda4eff3a5976fbf9aa64ea0031d9
84388c17561522d835a310de543c0bc54924ea522c5e90a20214f41ba01924d08fa9a36867238a7f



我们设计的任务是离线的,每天会在12点的时候把设计的任务变成一个实例快照。目前我们的任务依赖在业内也是最先进的。


现在最常见的需求就是每天有日报,每周要写周报,每月要写月报。为了节省资源,就可以使用日报的数据直接转成周报或月报。


59244121eae30e250dbc1ce129c0dce03b7bda1c

线上系统在每天6点的时候要保证数据已经回笼到业务系统,系统要开始使用了。


如上图所示,假设有D和E两个任务,它们依赖于B和A。任务D的运行时间是1.5小时,E是2小时。我们必须确保B每天在4点之前把B的任务运行完成,一般正常运行时间是2小时。那就要保证A每天任务完成的时间不晚于2点。如果A的运行时间是10分钟,到1点的时候发现A的任务失败了,这时就能计算出A还剩下多少余量,我们可以进行人工监督排查。在1:50之前人工介入,从而保证任务D和E能在6点前准时产出。


总结f1aa7ceb9e4d5c95a90d6a901e1909afaeaa1d4f

如图所示,MaxCompute是图上小人的“心脏”,所有运行的任务都在MaxCompute里面。调度是数据架构的“大脑”。“眼睛”是数据监控,目前在数据架构平台上它还是一个“近视眼”,还没有正式推出。数据集成就像两只“手”,不停地从其它地方搬运数据。底层的开发环境和运维中心就像两条“腿”,保证整个数据架构平台走得更远。而数据质量就像是一个“人体健康中心”,也就是数据质量的监控。


我今天的分享就到这里,感谢聆听!



阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里巴巴大数据计算
使用钉钉扫一扫加入圈子
+ 订阅

阿里大数据官方技术圈

官方博客
链接