直达最佳实践:【https://bp.aliyun.com/detail/60】
观看视频:【https://yqh.aliyun.com/live/detail/22304】
阿里云最佳实践目前已覆盖23类常用场景,有200多篇最佳实践,这其中涉及110款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。
分享人:
- 弦望 阿里云解决方案架构师
- 海清 产品专家
正文:本文从三部分为大家介绍电商网站销售数据通过大数据分析后将业务指标数据在大屏幕上展示。
最佳实践原理讲解
核心产品MaxCompute讲解
最佳实践系统搭建
一、最佳实践原理讲解
1)互联网电商行业离线大数据分析-场景描述
最佳实践的核心场景是电商网站的销售数据,通过离线大数据分析将业务指标数据在大屏上展示。如销售指标、客户指标、销售排名、订单地区分布等。大屏上的销售数据以可视化的方式动态展示,效果震撼,触控大屏支持用户自助查询数据,极大增强数据的可读性。比如右下角这个大屏,就是某个集团的销售指标数据,可以通过大屏看到集团的销售情况、分公司的销售排名、员工情况等。比如电商网站的数据看板、全国/全球性的业务态势分析、互联网金融风险数据监控等场景非常适合使用本方案。
2)互联网电商行业离线大数据分析-系统架构图
中间图是模拟电商网站最简单的架构,业务在ECS上进行多可用区部署。前端使用负载均衡进行流量分发,后端数据库使用云数据RDS MySQL版,业务数据比如订单数据通过DataWorks数据集成到MaxCompute。在DataWorks里面对MaxCompute的数据进行ETL,比如对订单的数据按年月日的维度进行聚合,开发完结果表后,可以通过DataWorks的数据服务功能以API的形式开发(提供)给业务系统,这里我们直接对接DataV进行大屏展示。
3)互联网电商行业离线大数据分析-方案优势
大规模存储:MaxCompute底层是一个超大规模集群,存储自动扩容,最大可支持EB级别的数据。
高性能:通过多年在阿里集团内部的打磨,在追求性能的同时也更稳定,如1TB数据规模的TPC-DS测试中,MaxCompute比Spark快了28%,比Hive快了76%,比Impalan快了7%,性能更强更稳定。
低成本:使用MaxCompute做数仓相比自建大数据数仓成本降低30%以上。
安全:原生的多租户系统,以项目进行隔离,所有计算任务在安全沙箱中运行。
DataV有完整的图形化编辑界面,用户轻松拖拽就可以完成专业级大数据的可视化,简单又美观。
4)MaxCompute产品架构
MaxCompute是Serverless的大数据数仓服务。数据接入层可以通过Tunnel批量、流式导入、转换为MaxCompute列存格式、自动伸缩、支持OSS导入导出并且完全免费。在MaxCompute底层是一个超大规模的计算存储资源池,可以按需提供资源、按作业收费,大大降低了成本。运行环境支持ETL、OLAP和机器学习等多种大数据分析场景。计算存储分离架构支持存储独立伸缩,最大支持EB级别的数据处理,用户无需关心扩容问题,按实际存储大小付费即可。在管理运维侧,也是完全免运维的架构,内建完整的管理能力和数据安全管控能力。
二、核心产品MaxCompute讲解
1)MaxCompute:SaaS模式企业级数据仓库
MaxCompute是阿里云提供的SAAS模式云数据仓库服务,较为典型的产品形态是多租户、开箱即用、无服务器架构、支持秒级弹性伸缩,快速实现大规模弹性负载需求。在企业和平台的维度、产品提供企业和安全管理功能,同时支持开放生态,与阿里云众多大数据服务无缝集成,给用户提供丰富的应用场景支持。较为典型的应用场景有广告场景(如用户标签、分析)、业务运营场景(如业务指标计算、查询)、仓库建设、EB级大规模数据计算、BI分析、机器学习等。
2)MaxCompute技术架构简图
MaxCompute底层为阿里云飞天分布式操作系统,包括分布式存储和分布式调度,上层通过统一的计算引擎预置多种计算模型和数据通道能力,如常用的计算模型SQL、MapReeduce、Machine Learning和Graph(图计算)。对于SQL在2020年还推出了查询加速引擎,为SQL查询分析性能提升到秒级,此外MaxCompute开发的CUPID的平台,实现MaxCompute与开源社区的链接兼容开源社区的多样性。目前对接有Spark、Flink和基于张量的统一分布式计算框架Mars。数据通道方面,支持离线批量数据通道Tunnel和实时数据通道Datahub,同时MaxCompute通过统一的语言数据和安全体系管控数据和使用的安全。在开放方面,MaxCompute融合开放的技术架构,支持SDK/JDBC/Restful API开放接口,为产品生态提供标准接入支持。
3)MaxCompute五大特性
MaxCompute能够快速的解决用户海量数据计算问题,有效降低企业大数据计算平台的总体拥有成本,提高大数据应用开发效率,并保障数据在云计算环境的安全。
MaxCompute有五大特性:
开箱即用、资源极致弹性。五分钟即可开通MaxCompute,并执行SQL进行体验,无需集群、平台运维让用户专注业务,深度集成DateWorks产品提供一站式大数据开发服务。对于资源按量计费资源随业务量自动伸缩,无需容量规划。
高性能、低成本特性。MaxCompute持续参与权威的专业测试,在成本和性能上都取得不错的成绩,而平台本身的免运维就减少了一部分的成本。
安全可靠。安全方面MaxCompute支持多租户模型,租户间所有数据隔离。同时MaxCompute提供多种数据保障机制,基于单项目对数据提供保护机制,跨项目跨租户交互也有对应的不同的安全保障。可靠性方面,MaxCompute作为阿里云核心数据平台,历经多次双十一高压考验。
在计算方面,支持多种分布式计算模型,满足不同场景下的计算需求。
生态融合。通过开放接口,一方面与阿里云上多款云产品实现深度集成,由DateWorks、机器学习、QBI,另一方面与众多开源大数据生态和商业工具生态实现集成互通,满足客户灵活多样的产品集成需求。
三、阿里云最佳实践
首先打开最佳实践的官网,在这里面已经发布了180多篇的最佳实践,基于23个常用的场景,比如业务上云数据分析,在我们生产业务上需要的最佳实践,都可以通过最佳实践的官网来找到。今天的演示使用云架构设计工具CADT。
1)通过云速搭 CADT 部署云上资源
CADT的是一款为云上应用提供自助架构管理的产品,可以对阿里云产品进行全生命周期的管理,包括成本的管理、部署运维、回收等,可以通过绘制架构图的方式来整体拉起业务中需要的云资源。
目前我们创建的最佳实践在官方已经提供相应的模版,找到基于互联网电商离线大数据的分析的模版,基于方案进行新建。
双击产品,里面都有相关的配置,比如eip、带宽,以根据自己的业务需求做调整。对ecs的配置设置密码,RDS的帐号、密码也可以在这里设置,odps改成后付费和标准版datav预付费的方式,保存后进行应用部署。
首先会对我们相关的资源进行验证,在这里可以看到所有的资源都是可以购买的。
这是资源的成本和每项付费的价格。
这是一键部署,勾选协议。
资源创建完成后要创建数据库存,在这里直接在CADT里跳转到RDS控制台,
2)创建数据库
在数据库管理里面创建数据库,帐号是在CADT里面创建的关联进来,点击创建。
3)电商应用环境初始化
接下来对电商网站进行初始化,CADT里找到eip,或者在ECS控制台上也可以,用eip登陆上,进行初始化。
在这里设置数据库存的帐号、登陆地址,登陆地址可以在RDS的网络类型里找到,添加进来,输入数据库的帐号、密码、名字,点击下一步。
设置网站的管理员和地址。
在这里设置管理员的帐号。
接下来安装。
接下来进入网站首页,创建一个帐号我们用来购买商品做测试数据。
4)创建工作空间
接下来进入DataWorks工作台。
我们在DataWorks创建一个项目空间。
这里我们选简单模式,在做生产的时候建议选择标准模式,可以做到开发环境和生产环境的隔离。
在这里绑定MaxCompute。
创建工作空间。
5)进行数据集成
这时进入数据集成,找到数据源管理。
新增一个数据源,选择MySQL。
我们在MyAQL的数据台上RDS里找到数据库实例ID、数据库名、帐号、密码、地址,点击测试连通性。
连接正常,目前DataWorks已经把相关的白名单自动添加到RDS上,不需要再手动添加了,点击完成。
下面进入到数据开发,在业务流程里去选新建业务流程。
拖入离线同步,提交。
双击数据同步节点,设置数据源为MySQL、表、把数据存到ODPS。
点击一键生成目标表,再点击新建。
这里是演示同步,实现增量同步要过滤一些条件,去配置调度参数,进行增量的同步。
选择前一天的时间作为bizdate,作为分区。
运行完后,在DateWorks进行数据处理,新建一个表,输入中文名,进行添加两个字段,选择销售量和DOUBLE类型,点击保存。再添加一个总销售额、DOUBLE类型,点击提交到生产环境。
这样我们DataV做展示的结果表就创建好了。
接下来对数据进行处理,拖一个ODPS SQL进来,输入信息后提交。
这样,将业务节点连接,就把数据从rds同步到res了,通过ODPS对数据进行处理。双击res,进去写SQL。
从Democode中拷贝过来SQL,点击运行,这样看到的SQL是把销售量和销售额进行整体汇总,统计销售总额。
再去统计表里看下数据是否统计出来了。
6)数据服务 API 开发
接下来把ODPS里的表通过数据服务提供API给DataV去做展示,API在我们业务里有业务需要,通过API去展示数据,也可以通过API来开发集成 。
首先进入数据服务,新增数据源,选择PostgreSQL,在ODPS的表可以通过PostgreSQL进行加速。
选择连接串模式,找到帐号和密码,采有公网来做连接,如果要用VPC,可以建一个独享的数据集成集群,点测试连通性。
接下来在API网关上去创建API,首先创建API的分组,开通服务。
在数据控制服务台里新建业务流程。
这是刚才创建的分组。
生成API,我们使用向导模式,做一个total-quantity的API,路径是total-quantity,协议是HTTP,描述是销售总量API,确认创建。
选择数据源类型、名称和表名称,点设为返回参数。
返回参数里做成分页返回,保存。
做API测试,可以看到结果已经返回,测试成功后去发布API。
重复之前的步骤,把销售额汇总的数据也建一个API。
做返回参数,分页,保存,测试,那销售额总量也拿到了,发布。
7)DataV大屏展示
进入DataV服务台,点击PC端创建。
在丰富的模版里找到集团数据看版。
创建项目。
添加数据源,进入我的数据,在数据源管理里选添加数据。
我们选择DataWorks的数据服务,Appkey和AppSecret在数据服务里可以找到,这样数据源就添加完成了。
回到大屏里,对数据进行编辑,比如对翻盘器进行编辑,把标题改成2021年累计销售额,改后缀为件,可以快速制作我们需要的看板。
在DataV里通过国网的方式,对界面进行简单的编辑,把数据对接进来,配置数据源。
数据源类型为DataWorks数据服务,选择已有的数据源,API选销售额,选择过滤器添加过滤,把数据筛选一下,保存。
这里连接失败,因为这里使用了HTTPS,我们的API得是HTTP的,把地址换成HTTP的地址再去访问。
可以看到数据已经过滤出来了。
重复上面的方法,对另一个数据进行展示。
添加过滤器,根据下面示例的数据,拿到data rows里的total quantity数值,数值改为data rows,这样就能拿到结果用来做展示。
定义valua里的数据,数据就出来了,把销售额再改一下。
可以看到看板的数据已经变了。
点击发布,再发布大屏,有一个地址复制过来,再展示一下我们的大屏。
可以看到大屏已经可以正常展示了。我们还可以去模拟一下商品的购买。
比如我们加34元一件,可以看大屏,我们已经成功购买了这个商品。
由于刚才没有做增量的同步,我们可以在数据同步里面,可以把新的数据同步过去。
在这里可以执行业务流程,把数据同步过来再做数据处理。
手动执行一下,执行是成功的。
我们回到大屏,刚才没有更新,勾选自动更新需求,这样数据就变化了。
看板上实时数据更新了。
可以在DataWorks做数据的调度,在调度的参数做设置,按照每天去汇总一次,在这里去设置一下调度参数,参数设置成正常值。
每天凌晨调度一次,跑一次数据。
刚才参数错误,是因为没加上边的参数,如果调度参数标进去了,就能正常执行。
保存后发布,把两个节点都勾上,提交,在magento-rds节点的上游,点使用工作空间根节点,保存。
回到流程里提交,两个节点全都勾选上,变更描述初始化,提交。
这样,任务就提交成功了,接下来每天凌晨都会调度这个任务,在这里就不展示了。我们回到运维中心看任务是不是提交成功了。
进入周期任务,可以看到当前的任务都已经提交了。右边是离线同步数据的同步,正常流程就OK了。
像有订单购买之后,我们通过T+1,数据就会在看板上进行更新。