互联网、电商行业离线大数据分析

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
简介: 最佳实践覆盖23种场景,有180多篇最佳实践,其中涉及100款以上阿里云产品的最佳使用场景,最佳实践已成功帮助大量客户实现自助上云。
直达最佳实践:【 https://bp.aliyun.com/detail/60
观看视频:【 https://yqh.aliyun.com/live/detail/22304
阿里云最佳实践目前已覆盖23类常用场景,有200多篇最佳实践,这其中涉及110款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。

分享人:

  • 弦望 阿里云解决方案架构师
  • 海清 产品专家

正文:本文从三部分为大家介绍电商网站销售数据通过大数据分析后将业务指标数据在大屏幕上展示。
 最佳实践原理讲解
 核心产品MaxCompute讲解
 最佳实践系统搭建
一、最佳实践原理讲解
1)互联网电商行业离线大数据分析-场景描述
image.png

最佳实践的核心场景是电商网站的销售数据,通过离线大数据分析将业务指标数据在大屏上展示。如销售指标、客户指标、销售排名、订单地区分布等。大屏上的销售数据以可视化的方式动态展示,效果震撼,触控大屏支持用户自助查询数据,极大增强数据的可读性。比如右下角这个大屏,就是某个集团的销售指标数据,可以通过大屏看到集团的销售情况、分公司的销售排名、员工情况等。比如电商网站的数据看板、全国/全球性的业务态势分析、互联网金融风险数据监控等场景非常适合使用本方案。
2)互联网电商行业离线大数据分析-系统架构图
image.png

中间图是模拟电商网站最简单的架构,业务在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产品架构
image.png

MaxCompute是Serverless的大数据数仓服务。数据接入层可以通过Tunnel批量、流式导入、转换为MaxCompute列存格式、自动伸缩、支持OSS导入导出并且完全免费。在MaxCompute底层是一个超大规模的计算存储资源池,可以按需提供资源、按作业收费,大大降低了成本。运行环境支持ETL、OLAP和机器学习等多种大数据分析场景。计算存储分离架构支持存储独立伸缩,最大支持EB级别的数据处理,用户无需关心扩容问题,按实际存储大小付费即可。在管理运维侧,也是完全免运维的架构,内建完整的管理能力和数据安全管控能力。
二、核心产品MaxCompute讲解
1)MaxCompute:SaaS模式企业级数据仓库
image.png

MaxCompute是阿里云提供的SAAS模式云数据仓库服务,较为典型的产品形态是多租户、开箱即用、无服务器架构、支持秒级弹性伸缩,快速实现大规模弹性负载需求。在企业和平台的维度、产品提供企业和安全管理功能,同时支持开放生态,与阿里云众多大数据服务无缝集成,给用户提供丰富的应用场景支持。较为典型的应用场景有广告场景(如用户标签、分析)、业务运营场景(如业务指标计算、查询)、仓库建设、EB级大规模数据计算、BI分析、机器学习等。
2)MaxCompute技术架构简图
image.png

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五大特性
image.png

MaxCompute能够快速的解决用户海量数据计算问题,有效降低企业大数据计算平台的总体拥有成本,提高大数据应用开发效率,并保障数据在云计算环境的安全。
MaxCompute有五大特性:
 开箱即用、资源极致弹性。五分钟即可开通MaxCompute,并执行SQL进行体验,无需集群、平台运维让用户专注业务,深度集成DateWorks产品提供一站式大数据开发服务。对于资源按量计费资源随业务量自动伸缩,无需容量规划。
 高性能、低成本特性。MaxCompute持续参与权威的专业测试,在成本和性能上都取得不错的成绩,而平台本身的免运维就减少了一部分的成本。
 安全可靠。安全方面MaxCompute支持多租户模型,租户间所有数据隔离。同时MaxCompute提供多种数据保障机制,基于单项目对数据提供保护机制,跨项目跨租户交互也有对应的不同的安全保障。可靠性方面,MaxCompute作为阿里云核心数据平台,历经多次双十一高压考验。
 在计算方面,支持多种分布式计算模型,满足不同场景下的计算需求。
 生态融合。通过开放接口,一方面与阿里云上多款云产品实现深度集成,由DateWorks、机器学习、QBI,另一方面与众多开源大数据生态和商业工具生态实现集成互通,满足客户灵活多样的产品集成需求。
三、阿里云最佳实践
image.png

首先打开最佳实践的官网,在这里面已经发布了180多篇的最佳实践,基于23个常用的场景,比如业务上云数据分析,在我们生产业务上需要的最佳实践,都可以通过最佳实践的官网来找到。今天的演示使用云架构设计工具CADT。
1)通过云速搭 CADT 部署云上资源
image.png
CADT的是一款为云上应用提供自助架构管理的产品,可以对阿里云产品进行全生命周期的管理,包括成本的管理、部署运维、回收等,可以通过绘制架构图的方式来整体拉起业务中需要的云资源。
image.png

目前我们创建的最佳实践在官方已经提供相应的模版,找到基于互联网电商离线大数据的分析的模版,基于方案进行新建。
image.png

双击产品,里面都有相关的配置,比如eip、带宽,以根据自己的业务需求做调整。对ecs的配置设置密码,RDS的帐号、密码也可以在这里设置,odps改成后付费和标准版datav预付费的方式,保存后进行应用部署。
image.png

首先会对我们相关的资源进行验证,在这里可以看到所有的资源都是可以购买的。
image.png

这是资源的成本和每项付费的价格。
image.png

这是一键部署,勾选协议。
image.png

资源创建完成后要创建数据库存,在这里直接在CADT里跳转到RDS控制台,
2)创建数据库
image.png

在数据库管理里面创建数据库,帐号是在CADT里面创建的关联进来,点击创建。
3)电商应用环境初始化
image.png

接下来对电商网站进行初始化,CADT里找到eip,或者在ECS控制台上也可以,用eip登陆上,进行初始化。
image.png

在这里设置数据库存的帐号、登陆地址,登陆地址可以在RDS的网络类型里找到,添加进来,输入数据库的帐号、密码、名字,点击下一步。
image.png

设置网站的管理员和地址。
image.png

在这里设置管理员的帐号。
image.png

接下来安装。
image.png

接下来进入网站首页,创建一个帐号我们用来购买商品做测试数据。
4)创建工作空间
image.png

接下来进入DataWorks工作台。
image.png

我们在DataWorks创建一个项目空间。
这里我们选简单模式,在做生产的时候建议选择标准模式,可以做到开发环境和生产环境的隔离。
image.png

在这里绑定MaxCompute。

创建工作空间。
5)进行数据集成
image.png

这时进入数据集成,找到数据源管理。
image.png

新增一个数据源,选择MySQL。
image.png

我们在MyAQL的数据台上RDS里找到数据库实例ID、数据库名、帐号、密码、地址,点击测试连通性。
image.png

连接正常,目前DataWorks已经把相关的白名单自动添加到RDS上,不需要再手动添加了,点击完成。
image.png

下面进入到数据开发,在业务流程里去选新建业务流程。
image.png

拖入离线同步,提交。
image.png

双击数据同步节点,设置数据源为MySQL、表、把数据存到ODPS。
image.png

点击一键生成目标表,再点击新建。
image.png

这里是演示同步,实现增量同步要过滤一些条件,去配置调度参数,进行增量的同步。
image.png

选择前一天的时间作为bizdate,作为分区。
image.png

运行完后,在DateWorks进行数据处理,新建一个表,输入中文名,进行添加两个字段,选择销售量和DOUBLE类型,点击保存。再添加一个总销售额、DOUBLE类型,点击提交到生产环境。
这样我们DataV做展示的结果表就创建好了。
image.png

接下来对数据进行处理,拖一个ODPS SQL进来,输入信息后提交。
image.png

这样,将业务节点连接,就把数据从rds同步到res了,通过ODPS对数据进行处理。双击res,进去写SQL。
image.png

从Democode中拷贝过来SQL,点击运行,这样看到的SQL是把销售量和销售额进行整体汇总,统计销售总额。
再去统计表里看下数据是否统计出来了。
6)数据服务 API 开发
接下来把ODPS里的表通过数据服务提供API给DataV去做展示,API在我们业务里有业务需要,通过API去展示数据,也可以通过API来开发集成 。
image.png

首先进入数据服务,新增数据源,选择PostgreSQL,在ODPS的表可以通过PostgreSQL进行加速。
image.png

选择连接串模式,找到帐号和密码,采有公网来做连接,如果要用VPC,可以建一个独享的数据集成集群,点测试连通性。
image.png

接下来在API网关上去创建API,首先创建API的分组,开通服务。
image.png

在数据控制服务台里新建业务流程。
image.png

这是刚才创建的分组。
image.png

生成API,我们使用向导模式,做一个total-quantity的API,路径是total-quantity,协议是HTTP,描述是销售总量API,确认创建。
image.png

选择数据源类型、名称和表名称,点设为返回参数。
image.png

返回参数里做成分页返回,保存。
image.png

做API测试,可以看到结果已经返回,测试成功后去发布API。
image.png

重复之前的步骤,把销售额汇总的数据也建一个API。
做返回参数,分页,保存,测试,那销售额总量也拿到了,发布。
7)DataV大屏展示
image.png

进入DataV服务台,点击PC端创建。
image.png

在丰富的模版里找到集团数据看版。
image.png

创建项目。
image.png

添加数据源,进入我的数据,在数据源管理里选添加数据。
image.png

我们选择DataWorks的数据服务,Appkey和AppSecret在数据服务里可以找到,这样数据源就添加完成了。
image.png

回到大屏里,对数据进行编辑,比如对翻盘器进行编辑,把标题改成2021年累计销售额,改后缀为件,可以快速制作我们需要的看板。
image.png

在DataV里通过国网的方式,对界面进行简单的编辑,把数据对接进来,配置数据源。
image.png

数据源类型为DataWorks数据服务,选择已有的数据源,API选销售额,选择过滤器添加过滤,把数据筛选一下,保存。
image.png

这里连接失败,因为这里使用了HTTPS,我们的API得是HTTP的,把地址换成HTTP的地址再去访问。
image.png

可以看到数据已经过滤出来了。
image.png

重复上面的方法,对另一个数据进行展示。
image.png

添加过滤器,根据下面示例的数据,拿到data rows里的total quantity数值,数值改为data rows,这样就能拿到结果用来做展示。
image.png

定义valua里的数据,数据就出来了,把销售额再改一下。
可以看到看板的数据已经变了。
image.png

点击发布,再发布大屏,有一个地址复制过来,再展示一下我们的大屏。
image.png

可以看到大屏已经可以正常展示了。我们还可以去模拟一下商品的购买。
image.png

比如我们加34元一件,可以看大屏,我们已经成功购买了这个商品。

image.png

由于刚才没有做增量的同步,我们可以在数据同步里面,可以把新的数据同步过去。
image.png

在这里可以执行业务流程,把数据同步过来再做数据处理。
image.png

手动执行一下,执行是成功的。
image.png

我们回到大屏,刚才没有更新,勾选自动更新需求,这样数据就变化了。

看板上实时数据更新了。
image.png

可以在DataWorks做数据的调度,在调度的参数做设置,按照每天去汇总一次,在这里去设置一下调度参数,参数设置成正常值。
image.png

每天凌晨调度一次,跑一次数据。
image.png

刚才参数错误,是因为没加上边的参数,如果调度参数标进去了,就能正常执行。
image.png

保存后发布,把两个节点都勾上,提交,在magento-rds节点的上游,点使用工作空间根节点,保存。
image.png

回到流程里提交,两个节点全都勾选上,变更描述初始化,提交。
image.png

这样,任务就提交成功了,接下来每天凌晨都会调度这个任务,在这里就不展示了。我们回到运维中心看任务是不是提交成功了。
image.png

进入周期任务,可以看到当前的任务都已经提交了。右边是离线同步数据的同步,正常流程就OK了。
image.png

像有订单购买之后,我们通过T+1,数据就会在看板上进行更新。

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5天前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用问题之如何查看数据离线同步每天从MySQL抽取的数据量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3天前
|
存储 数据采集 分布式计算
Java中的大数据处理与分析架构
Java中的大数据处理与分析架构
|
6天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之ods层离线同步任务,数据源的一张表新增了字段。如何更改可以不影响当前节点和下游任务的运行
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6天前
|
分布式计算 DataWorks 数据可视化
MaxCompute产品使用问题之mongo离线同步导致null的字段不显示该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
消息中间件 存储 大数据
深度分析:Apache Kafka及其在大数据处理中的应用
Apache Kafka是高吞吐、低延迟的分布式流处理平台,常用于实时数据流、日志收集和事件驱动架构。与RabbitMQ(吞吐量有限)、Pulsar(多租户支持但生态系统小)和Amazon Kinesis(托管服务,成本高)对比,Kafka在高吞吐和持久化上有优势。适用场景包括实时处理、数据集成、日志收集和消息传递。选型需考虑吞吐延迟、持久化、协议支持等因素,使用时注意资源配置、数据管理、监控及安全性。
|
4天前
|
SQL 运维 druid
深度分析:Apache Doris及其在大数据处理中的应用
Apache Doris是一款开源的高性能实时分析数据库,设计用于低延迟SQL查询和实时数据处理,适合大规模实时分析场景。与Apache Druid、ClickHouse和Greenplum相比,Doris在易用性和实时性上有优势,但其他产品在特定领域如高吞吐、SQL支持或数据处理有特长。选型要考虑查询性能、实时性、SQL需求和运维成本。Doris适用于实时数据分析、BI报表、数据中台和物联网数据处理。使用时注意资源配置、数据模型设计、监控调优和导入策略。
|
4天前
|
消息中间件 分布式计算 Kafka
深度分析:Apache Flink及其在大数据处理中的应用
Apache Flink是低延迟、高吞吐量的流处理框架,以其状态管理和事件时间处理能力脱颖而出。与Apache Spark Streaming相比,Flink在实时性上更强,但Spark生态系统更丰富。Apache Storm在低延迟上有优势,而Kafka Streams适合轻量级流处理。选型考虑延迟、状态管理、生态系统和运维成本。Flink适用于实时数据分析、复杂事件处理等场景,使用时注意资源配置、状态管理和窗口操作的优化。
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化在大数据分析中的重要作用
数据可视化在大数据分析中的重要作用
23 0
|
5天前
|
分布式计算 大数据 Java
MaxCompute产品使用问题之是否可以恢复最近两天生命周期清理的数据
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之删除了某个分区的数据,如何找回
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。