开发者学堂课程【一站式大数据开发治理平台 DataWorks 初级课程:DataWorks 数据分析介绍及实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/763/detail/13359
DataWorks数据分析介绍及实践
内容介绍:
一、什么是数据分析
二、DataWorks 数据分析
三、使用演示
今天的内容分为三个部分,首先我会介绍一下什么是数据分析,数据分析常见的步骤有哪些,本地数据分析与在线数据分析的对比;接着我会对 DataWorks 数据分析模块的主要功能做一个介绍;最后,我会登陆 DataWorks 数据分析模块结合产品做一个上手操作与讲解。
一、什么是数据分析
如下图:描述数据信息与情报的一个关系。
从外界环境中通过采集拿到数据,这个环境有可能是软件的,例如:从业务系统中采集到的日志数据;也有可能是硬件的,例如:传感器从环境中采集到的传感数据;这个原始数据的价值密度通常比较低,通过对原始数据的加工和萃取来得到有价值的信息,而对信息的进一步的分析与生产就得到了情报。
数据分析是以发掘有价值的信息、用结论支撑决策为目的,对数据进行探查、清洗、转换和建模的过程。
数据分析在使决策更加科学、帮助企业更有效的运营方面发挥着作用。
1、数据分析的过程
(1)需求分析:
数据分析通常是业务驱动的。根据业务场景或者某个商业决策,明确分析目的,确定所需的数值范围。
(2)数据采集:
这个环节可能会有以下几个问题:一个是期望的数据可能在技术层是没有存储的;或者是有存储,但是数据分散在数据仓库的不同位置,那数据采集的过程就是解决这些问题。
(3)数据清洗:
数据采集上来之后通常会需要做一些数据清洗的工作,因为数据往往是不完整的,有重复值、错值、空值的,数据清洗就是防止和纠正这些错误的过程。
(4)探索分析:
借助数据分析工具对数据进行探索分析。常见的数据分析工具有:微软的 Excel、PowerBI、Tableau BI、R 语言、Python 等,分析的过程可能还会包含机器学习算法的应用。
(5)可视化呈现:
数据分析完成后,以可视化的形式将结果展示给需求方。
因此,数据分析的过程通常包括需求分析、数据采集、数据清洗、探索分析和最终的可视化呈现。
2、本地数据分析和在线数据分析
数据分析可以分为本地数据分析和在线数据分析。
本地数据分析最常见的就是用 Excel 来做数据分析了,非常的方便但同时也会有这些问题:
(1)首先是重复操作的问题,用户在 Excel 文件上的分析往往是一次性的,于是传统的数据分析师需要每周、每月或者每季度的重复后台分析的操作,效率是比较低的;
(2)性能差的问题。如果你在本地数据分析的数据量不太大的时候,其实可能体会不到,当你的数据量比较大的时候,性能就成了瓶颈。这个主要有两方面的原因,一个方面是其实 Excel 能够显示的数据行数是有上限的,这个上限与 Excel 的版本有关;另一方面受制于个人电脑的计算性能,当数据量比较大的时候,其实本地数据分析不可避免的会产生卡顿的情况;
(3)数据孤立的问题,这个问题在数据上云的背景下会逐渐的凸显出来,数据本身其实是超越了文件的边界的,很多时候对单一的表的分析的价值是非常有限的,我们需要把企业各个业务系统的数据都拉通,这样我们才能拿到更有价值的一个分析结果;
(4)安全风险,企业的数据放在本地,放在员工的个人电脑上,其实是很难做到分享和下载过程中的权限可控的。
在线数据分析:针对重复操作的问题,使用在线的数据分析工具是可以做到数据的刷新的。例如: DataWorks 数据分析模块,有一张用户画像表,这个表是分区表,在九月份时对九月的分区进行一个透视操作,把某一个字段作为行、某一个字段作为列,进行一番透视,等到十月份可以直接把这个透视的配置复用到十月份的那个分区上,就非常高效的完成了数据的更新。另外,借助计算引擎强大的计算能力,可以对全量的海量的数据进行高效的数据分析。在线数据分析可以从不同业务系统的数据库进行取数分析,打破数据之间的壁垒。 DataWorks 数据分析模块还支持将分析的结果导出成一张表,或者将分析结果分享给别人,这样数据就在不同的系统之间、不同的人之间流动起来了。
非常重要的一点,用户不需要将数据下载到本地就可以在线上完成数据分析,并且做到分享,分析过程中的权限可控,保证了企业的数据安全。
二、DataWorks 数据分析
DataWorks 的数据分析模块都有什么能力呢?
一些问题:
我有一张表存在 MaxCompute/EMR/RDS/...里,我想对查询结果做进一步的统计分析,我该怎么做?
拿到一张别人的表,我怎么知道里面有没有脏数据?只能跑 SQL 吗?
DataWorks 能做透视分析吗?
我想手动编辑一张维表,可我不会写SQL,我该怎么办?
这些问题都可以通过数据分析模块有一个很好的解决。
上图表达了 DataWorks 各个模块之间是怎么配合完成一个数据分析需求的。
(1)查询数据
首先需要做数据采集,在数据地图中通过搜索本次数据分析所需要的表,并且通过查看表详情、数据预览查看数据血缘来快速的理解这个数据。
(2)申请权限
需要去申请这个表的查询权限,或者是申请这个表某个字段的查询权限。
(3)数据开发
获取权限之后用户可以选择做进一步的加工;
(4)数据分析
也可以选择直接前往数据分析模块,使用数据分析的从数据源查询的功能来从数据源直接取数,把数据拿到表格里面之后以表格的形式方便的进行数据探查、数据透视的这些分析的操作。
数据分析是用于数据快速洞察分析、在线编辑和数据可视化的一个模块。
从功能上来讲,它包括电子表格、维表、报表这三个功能。
其中电子表格这个功能是数据分析模块的核心功能,它为用户提供了一个进行取出、探索分享的一个个人空间。
它以电子表格为主体支持一些常见的表格的功能,用户可以快速的上手。除此之外,它也支持从本地或者从数据源来导入数据。提供了一个个人视角的查询工作台,同时还提供数据探查、数据透视这些功能,用户也可以把自己分析的结果数据固化为一张max computer 表,或者是把分析的结果分享给别人。
数据源查询功能:是知识非常丰富的数据源类型,把某一个数据源添加进来之后可以在这个树上来查看字段的结构,或者进行数据预览。通过双击或者拖拽的方式就可以快速生成查询语句,点击运行之后可以拿到查询结果,这个编辑器是一个智能编辑器,是提供智能的股权高亮提示、智能纠错的这些功能的。也可以把这个查询保存下来,然后运行历史也都是可以回溯的,可以通过双击,把它一键载入到编辑器里面。拿到数据之后可以借助数据勘查的功能来快速的洞察数据,这个功能会对各个字段的值的分布,包括它的类型数值的一个分布做一个统计,可以帮助用户快速的掌握数据的分布情况。支持概览模式和详细模式、支持数据筛选、多级下钻,它能够帮助用户来判断这些数据是否需要去做数据清洗以及数据清洗的一个目的是什么。
透视功能:是数据分析师非常常用的一个功能,透视功能支持本地透视和数据源透视,可以对电子表格里面的数据进行透视,也可以直接对数据源的全量的数据进行透视,维度是支持自定义排序的,如果维度是数值类型,也可以对它进行分组,透视的配置是可以复制的,例如:这张表的八月的九月这个分区做了一次透视的操作,等十月份数据更新之后可以通过刷新数据源把这个透视配置给复用到十月的那分区上,这是非常方便的,透视这个功能之后的实操部分,后续会详细讲解。至于保存与分享,是支持模板的,可以把电子表格保存为一个模板。之后在新建时可以直接从这个模板来新建,同时也可以把分析的结果固化为一张 max computer 的表,直接生成建表语句,并且把数据插入到表里面。除此之外还可以把这个电子表格分享,分享时可以指定某一个人并且给他相应的权限。
维表编辑工具:是一个简单高效的为表编辑工具。在日常的工作中,运营同学常常会需要去维护一张线上的 max computer 表,要找到研发的同学,跟研发同学说一下自己的需求,研发的同学就打开了新建一个手动的任务,在里面写一下建表语句,并且把数据插入进来。最后把这个任务提交到生产环境,在生产环境运行这个任务,就会建一张 max computer 生产表,每当这个数据有更新时,这个过程都要重复一次,这个链路是相当长的,而且涉及到的人员比较多,操作起来效率很低。但有了维表之后,运营同学可以直接用可视化的形式自己来创建一张 max computer 生产表,通过可视化的方式对字段进行命名,填写字段描述,点击确认就生成了一张线上的表,他可以把本地的数据导入到这张表里面,也可以直接在这个表格里面操作,像在 Excel里面操作是一样的直接在里面写数据,如果要修改,也非常方便,打开这张维表来进行修改,从而缩短了整个的这个操作的链路,提升了工作的效率。
报表:是一个数据可视化呈现的一个工具,它提供多种报表组件,用户通过拖拉拽就可以完成一个报表搭建,搭建完之后还可以把这个报表分享给其他的人。
三、使用演示
首先前往阿里云的官网,找到 date works,在搜索框输入 date works,点击搜索就可以直达,也可以在产品分类大数据里找到。点击管理控制台,接下来我们怎么进入数据分析呢?可以点击到公众空间列表,选择某个共同空间,点击进入首页,首页放置了两个常用的场景:一个是大数据开发场景,一个是数据分析场景的一个使用的链路。切换到数据分析场景,这个链路上面有简要的介绍,现在可以通过点击卡片来进入数据分析模块,也可以通过左上角来切换到数据分析模块,就来到数据分析模块的一个首页,可以看到它是分为三大功能:一个是电子表格,一个是维表,一个是报表。重点演示的就是电子表格这个功能,点击电子表格可以看到它分为两个部分:上面是新建电子表格,下面是全部的电子表格。可以点击新建,新建一个空白的电子表格,也可以从某个模板来新建,下面是一个创建的电子表格的列表,点击可以切换为分享给我的。这里能看到别人分享给你的一个电子表格的列表,那我对电子表格会有一些重命名、转交克隆的删除的这些常见的操作。打开一个电子表格,可以看到表格里面没有数据,可以先把一些数据导入到电子表格里面,当然可以手动的在这里编辑数据,也可以选择把一些现成的数据导入进来,可以选择导入本地的数据,比如我想导入某一个文件点击选择文件,谷歌应用商店的一份数据我把它导入进来,应该是在第二个区域,点击确认,我们看到这个谷歌应用商店的这个对应用的评分的数据已经被导入进来了,拿到数据之后我想用数据探查的功能来整体看一下数据的分布,可以看到 APP 这个字段有187个唯一的值,目录的话主要是 family 和 tools 这个分类,至于应用的评分,可以看到是有一些空值存在的,可以把空值给取消。那这样我们就可以看到应用的这个评分的一个分布的情况,包括他评论的一些数量的直方图的一个统计,这里是一个概览的信息,如果想要更详细的一个统计信息的话,可以点击详细模式来查看更多的一些统计的数据,对数据有一个基本了解后我可以对数据进行透视分析,点击透视,可以圈一些本地的数据来进行透视,也可以使用外部数据源透视,先来演示第一个部分点击确认。首先我想看一下APP评分的情况,可以把评分作为行维度,把APP的数量作为指标,可以看到现在的这个排序是比较乱的,而且里面有一些空值,那这时可以做一些筛选,选择它的评分不等于。现在应该就会把空值给筛掉,现在可以看到它这个排序是乱掉的,再排序,现在它是按照012345的这个排序来排的,更进一步的我还可以按照免费应用还是付费应用来做一个透视的分析,可以看到免费的应用有1231个,而付费的应用有107个,各个免费和付费各自的一个等级评分的分布也都可以看到。这是对本地数据源的一个简单的透视操作的演示;
接下来向大家演示怎么从数据源来导入数据并且完成进一步分析。
新建一个 sheet,点击这边的从数据源查询功能,就进入到查询模式,这里就是个人视角的一个查询分析的工作台。这次要分析的是一张用户画像表,它存在的max computer 一个项目里面,找到这个项目双击进去。通过搜索来找到那张表,现在可以看到,已经找到这张表可以对它进行一个基本信息的查看,或者是进行数据预览。点击取消。如果需要查询他所有字段,可以直接通过拖拽的方式,一句代码都不用写,直接把他拖到表格里面。那这边它就会自动运行我们这个查询,现在我们可以看到查询结果已经插入到了这个电子表格里面,那更进一步的如果我们需要查询指定的某一个比方说我想查询女性用户的一个用户画像,可以通过双基金的这个字段,它就会自动生成一条SQL语句,这张表where gender等于在这里输入女性,点击运行,它就会把这条运行结果插入进来,还可以选择把这个查询保存下来,这样之后也可以重复使用这个文件,下面其实还有已保存的,这里就是个人的一个查询的文件管理的地方,还有运行的历史,我们通过双击操作,可以快速的把这次运行的代码代入到这个编辑器里面。
现在已经拿到了数据,关闭这个查询模式,现在想向大家演示一下,在透视时直接选择某一个数据源进行透视的操作,我们选择使用外部数据源。现在要透视的这张表的还是一张画像表,选择数据类型,一般从选择对应的工作空间选择对应的找到这张表。一张非分区表不用指定它的分区,现在是可以在右侧看到这个表的一些结构,现在开始透视分析,把性别放到列纬度上,然后把消费水平和城市水平放到行纬度上,根据这些维度对用户的PV进行分析,再加一个指标。比如加一个购物车的架构情况,可以看到这个城市等级的顺序是有点问题,在这里设置一下排序,城市等级可以按照首字母的顺序,然后消费水平可以手动排序,开始的中级高点击确定,可以看到这个顺序现在是对的,那这样就得到一张简单透视表。现在觉得这个指标的可读性不是很好,可以给它中文名购物车,CB 改为浏览量。现在就得到了这样一张透视表,我这里只是简单的演示一下它的常见的操作,现在是对九月份的这样一个用户画像表进行分析,如果十月份的时候,我可能要做相同的这样一个透视分析,我要怎么把我的这些操作复用到十月份的数据上呢?这个时候就可以在数据来源这里点击编辑,我把这个更改为十月份的那张表就可以了,或者是如果我的这个表是分区表,我可以只是去修改它的分区,然后点击确定它这个数据就会刷新为对应的更新过的数据。现在我想把我的这个透视表分享给其他人,我可以点击右上角的分享,然后指定其他人,并且给它赋予相应的权限,他就可以来查看或者编辑我的这个透视表了。那对应的同学是可以在电子表格这里看到我分享给他的这个电子表格的。