开发者学堂课程【场景实践-基于阿里云 Quick BI 对 MOOC 网站日志分析:实验操作演示】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/524/detail/7078
实验操作演示
内容介绍:
一、演示使用 MaxComputer 对网站日志的数据进行处理
二、使用 Quick BI 演示网站日志分析结果
三、问题解决思路
本节主要内容:如何使用阿里云的 MaxComputer ,也就是大数据计算服务对数据进行处理。
一、演示使用 MaxComputer 对网站日志的数据进行处理
首先使用账号进行登录,登录后进入 DataWorks 的界面,该界面如下:
找到工作空间并使用 zhitu_log_analysls 项目。
然后进入该项目的数据开发,如下:
或者在空间列表中找到该项目,点击进入数据开发也可以到达进入该项目的数据开发这个目的。
进入后开发页面如下图:
展开列表,默认进入的数据开发,表管理中还可以看到项目空间中默认的表,还可以看到 MaxComputer 的资源、函数等等。如下图:
在这里默认是没有表的,后面将会放入两张初始表。
1.首先做数据开发,选择业务流程(展开默认是没有的),点击右键选择新建业务流程。
业务流程相当于一个任务形式的,一个流式的处理方式。也就是可以定义很多工作步骤,然后每一个步骤做一些事情,还会有一些下游的步骤,下游的步骤需要基于上游的步骤产生数据去进行下一步的操作。
新建业务流程如下图:
点击新建,新建后框架图如下:
可以看到测试流程中有一系列的可用组件,并且有很多的分类,例如函数、算法、数据集成、数据开发等等,但是其中还没有实际内容。
这里只需要用到组件 ODPS SQL ,也就是主要用到 SQL 语法对 MaxComputer 进行处理。为了提高可观性,会新建两个虚拟节点,用来设置开始和结束。
先建立一个开始的虚拟节点,直接将虚拟节点拖入右侧空白处,将该虚拟节点名称指定为 start,然后提交。再建 ODPS SQL 节点,这里是演示,建立了多个,为加快演示速度设名称分别为1、2、3、4。再建一个虚拟节点,表示结束,名称为 end。
建立完成后要定义其顺序,整体的顺序是从上至下进行开始的。
从 start 引出两条线到1和2,也就是1和2是同时进行的,1和2完成后去完成3,可以从1和2分别引出两条线指向3.3步骤执行完毕后,引出一条线到4,然后4再到最后一步 end。
整个流程框架如下:
如果认为该流程框架较乱,可以点击右上角的自动布局,会自动优化该流程框架图。
流程大概的架构建立完成,具体的每一个步骤中执行的事务需要进行编辑,虚拟节点没有任何内容,不需要进行任何编辑,所以这里需要对4个 ODPS SQL 节点进行编辑。
例如,需要操作第一个 ODPS SQL 节点,,可以双击,双击后会打开该节点真正执行的语法语句(也就是代码),也可以右击选择打开节点,该节点语句如下:
可以在其中写一些 SQL 语句,比如从一些老的表中去查询数据,插入一些新表等等。(在实验中有具体的写法,注意每次写完要进行保存,也可以执行。在此处因为没有编辑任何数据,所以执行时提示提交任务失败。)
2.将初始化数据塞入
初始化数据中也存在,在表管理中有两张表,分别是t_cz_ip_content 和 t _web_access_log_concent,,通过这两张表作为基础表,后面的一系列流程可以通过该基础表进行数据处理。
回到数据开发,在业务流程中新建了网站日志分析的业务流程,大概框架如下图:
首先是开始,开始后是 IP 提取和日志文件属性提取,然后是地域及用户商信息提取,之后是用户所在省和访问链接的提取,然后是访问时间及来源的处理、用户的信息处理,之后是三个平级,包括 TopN 数据采集、获取访问每个访客的第一条数据以及 IP 黑名单处理,最后是结束。
结束和开始是两个虚拟节点,其余是 ODPS SQL。
打开 IP 信息获取查看其内容:
如果存在 t_cz_ip 表就将其删除,然后再创建这张表。这张表用来进行对之前的数据进行处理后的过程表。然后从原始表 t_cz_ip_content 去 SELECT 上图的数据,然后将其插入新表中。
打开日志文件属性提取查看其部分内容:
同样会新建一张表t_web_access_log_tmp1 ,这是一张过程的临时表,把数据从原始表中去查询,查完后得到上图的属性,然后分到 t_web_access_log_tmp1 这个临时表中。
点击运行即可执行,如果是周期性提交也可以点击提交,点击运行后发现该流程图有动画的效果,开始执行的节点旁绿色的勾符号表示执行完成,如果是正在执行其符号为蓝色的箭头符号,如果执行失败则是一个红色的标记(注意代码的编写是否有问题)。
等等全部执行完成,执行完成的表已经生成,可以在公共表中查看,如下图所示,表 t_cz_ip 生成:
所有流程执行完成后,所有的表都生成。其中有几张最终的表,例如 TopN 数据采集下的表为 t_web_access_log_url_top,每一个访客的第一条数据下的表为 t_web_access_log_first。刷新应用后可以在公共表中找到所有生成的表。
二、使用 Quick BI 演示网站日志分析结果
对于 QuickBI,这里进行简单的演示,首先需要采集数据集,在采集完数据集后要利用数据集将数据使用不同的 Quick BI 的图表进行展示。在实验环节中,将会展示 PV、UV、IP和一天的访问趋势图,也就是流量分析。对于来源分析,将展示访问来源和搜索引擎的来源。
对于访问分析,将展示链接 TopN ,也就是用户访问最多的前10个链接,还有 IP 的黑名单,也就是发生恶意攻击的 IP 的名单的收集。最后是访客的分析,对于访客分析,将以全国地图的形式去展示处于不同省访客数量的分别,还有访客流量器的分布,操作系统使用占比以及访问所使用的网络运营商。
1.如何使用 Quick BI
打开 DataWorks 的主页面,然后点击标记选择产品与服务,在其中找到大数据(数加),其中有一个 Quick BI,点击Quick BI。注意其有很多版本,有标准版、高级版和专业版,在这里使用的是标准版。
刚开始进入时会有30天的试用期,如果没有使用过可以点击标准版的试用,如下图:
点击进入 Quick BI 标准版,进入后 Quick BI 的主面板如下:
正常的 Quick BI 流程在该主面板下方,Quick BI 流程首先是从数据源开始,然后对数据进行建模,之后使用各种各样的仪表板对数据进行展示和分析,最后将构建出的仪表板进行展示(可以以邮件的方式等等)。
点击创建数据源,其中有几种方式创建。可以以云数据库的方式创建,云数据库就是阿里云提供的各种各样的数据库,包括 MaxComputer 、alias 数据库等等。还可以以自建的数据源创建,就是自己创建了一个自己的手数据库,可以通过配置参数的方式来通过其访问自己的数据库。还有一个方法是本地上传,比如上传 excel 或者 csv 文件。
在这里选择云数据库,点击获取数据或者点击新建数据源。直接进入到云数据库下的各种云数据服务,如下图:
在这里使用 MaxComputer ,点击 MaxComputer,补充要填写的内容:
填写完毕后进行连接测试,提示数据源连通性组成,说明测试通过,然后点击添加。添加完成,右侧有可以刷新出表,这些表都是之前 MaxComputer 处理后产生的各种各样的表。这时,是从 MaxComputer 引入的一些表,基于这些表创建数据集。
点击数据建模,也就是建一个数据集,该数据集底层还是依赖于其他的数据源。所以还是从数据源中新建数据集(在实验中会依赖几张表做数据集,在该演示过程中只演示一个),选择 t_web_assess_log 表,对其进行创建数据集。















