DataWorks为您提供在线数据分析能力,以下通过对MaxCompute的公共数据集进行分析为例,为您介绍如何端到端操作实践在线数据分析。
实践背景与目的
本实践的操作流程与目的:
- 环境准备:进行实践操作前所需的环境,便于了解数据查询分析所需的环境要求。
- 数据查询:以查询MaxCompute的公共数据集的两张表的数据为例,示例数据查询的操作入口和流程。
- 数据分析与分享:以典型的排序分析和透视分析为例,示例web excel的线上数据分析能力与操作入口。
环境准备
本实践以使用同一地域的MaxCompute和DataWorks进行数据查询与分析为例,在进行实践操作前,您需提前通同一地域的MaxCompute与DataWorks,并创建好用于实践操作的DataWorks项目空间与MaxCompute项目,做好数据查询分析前的环境准备。如果您已有符合要求的环境,可跳过此步骤。
- 开通MaxCompute与DataWorks。
- 登录并进入阿里云MaxCompute产品首页,单击立即开通。
- 选择开通地域等开通产品的信息,勾选服务协议,根据界面引导完成付款开通。
- 创建并关联DataWorks项目空间与MaxCompute项目
- 登录进入MaxCompute控制台,单击创建项目。
- 创建dataWorks空间。
配置DataWorks空间参数,完成后单击
创建项目。

其中:
- 模式:本实践用于操作示例,配置为简单模式。实际使用时可根据情况选择使用简单模式或标准模式。
- 高级设置:为增强数据安全,如无特别下载数据至本地的需求,建议关闭能下载Select结果,避免数据被下载后转发造成数据安全风险。
- 创建MaxCompute项目。
配置DataWorks空间参数,完成后单击
确认创建。

其中:
- 付费模式:可使用默认选择的按量计费模式,若有开通其他模式可按业务需求选择。
- 访问身份:作为数据分析项目,建议选择任务负责人,即所有成员提交任务都校验成员当前登录的账号权限。
- 界面提示创建成功后,单击去列表查看,查看已创建完成的空间。
数据查询
此部分实践操作会以使用MaxCompute公共数据集为例,示例如何通过DataWorks的在线分析服务进行数据查询操作。
MaxCompute的公共数据集中提供了多种公共数据用于验证功能操作,本实践使用2017年电影票房相关信息表(maxcompute_public_data.dwd_product_movie_basic_info和maxcompute_public_data.ods_product_movie_box),统计当年春节档期每日票房排行榜。

- maxcompute_public_data.dwd_product_movie_basic_info:电影基本信息,包含影片名、导演、编剧、主演、影片类型等基础信息。
- maxcompute_public_data.ods_product_movie_box:电影票房基本信息,包含影片名、当日票房、累计票房等信息。
统计当年春节档期每日票房排行榜时,需关联上述两张表获取信息。操作步骤与示例代码如下。
- 在MaxCompute控制台单击查询编辑,进入DataWorks的数据分析的查询模式页面。
- 选择数据源。
选择MaxCompute数据源类型,工作空间选择
环境准备中创建的空间。
- 找到公共数据集里的表maxcompute_public_data.dwd_product_movie_basic_info和maxcompute_public_data.ods_product_movie_box,了解数据表的基本内容。
- 展开数据集后,鼠标悬浮在字段名称上即可了解各个字段的描述。
- 右键数据表,单击数据预览,会随机显示20条数据进行预览。
- 在右侧代码编辑框中编辑代码,进行数据查询。
本实践取2017年01月28日至02月03日作为春节假日档期,查询这期间每日上映的影片票房以及影片关键信息,并将查询结果保存为查询结果表,用于后续在线分析。
- 在右侧代码编辑框中编辑查询代码。
示例代码如下。
WITH
a as(select ds,moviename,sumboxoffice,DENSE_RANK() OVER (PARTITION BY ds ORDER BY CAST(sumboxoffice AS DOUBLE) DESC) AS srank,boxoffice,irank from maxcompute_public_data.ods_product_movie_box WHERE ds>='20170128' and ds<='20170203' ),
b as (select movie_name,director,type ,area, actors,movie_language ,ROW_NUMBER() OVER (PARTITION BY movie_name ORDER BY type DESC) AS nums from maxcompute_public_data.dwd_product_movie_basic_info where ds>='20170128' and ds<='20170203' ),
c as (select b.movie_name,b.director,b.type ,b.area, b.actors,b.movie_language from b where b.nums=1)
select a.ds as 放映日期,a.moviename as 影片名,a.irank as 当日票房排名,a.boxoffice as 当日票房_万 ,a.srank as 总票房排名,a.sumboxoffice as 总票房_万,c.director as 导演,c.type as 电影类型,c.area as 制片地区,c.actors as 主演,c.movie_language as 影片时长 from a LEFT join c on a.moviename=c.movie_name;
- 单击运行图标运行查询代码。
- 运行成功后,单击保存查询图标,保存查询代码。
- 单击左上角的模式切换按钮,切换到分析模式后,单击右上角的保存按钮,保存结果表,便于后续分析和分享。
数据分析与分享
可以通过数据分析的分析模式使用Web Excel进行一些简单的二次分析统计,并直接分享。
- 数据分析
- 查看每日放映的电影当日票房排行榜

- 随机选择结果集中某个单元格,单击筛选和排序功能。
- 选择当日票房排名列,右键选择将该列转成数值型以便对排名进行排序。
- 先对当日票房排名列进行升序,再对放映日期列进行降序,既可直观查看每日放映的电影当日票房排行榜。
- 统计整个春节档期放映的影片票房分布,此操作主要用到透视功能。选择需要透视的结果列,单击透视。

- 行维度选择“影片名”,指标选择“当日票房(万)”,并对指标编辑将汇总方式改成sum。
- 选择列表使用饼图进行透视。
您还可以根据业务需求,对数据进行更多样化的分析统计,所有统计分析结果不要忘记进行保存。
- 数据分享。
保存好的图表可以通过
分享功能将分析结果共享给主账号下其他子账号,被分享的子账号可以通过URL或提取码访问到该结果表。您可以根据需求指定对方是否可编辑或仅可以查看。
