网站流量日志分析--工作流调度--数据指标统计分析调度 | 学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析--工作流调度--数据指标统计分析调度

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第五阶段):网站流量日志分析--工作流调度--数据指标统计分析调度】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/697/detail/12253


网站流量日志分析--工作流调度--数据指标统计分析调度

内容介绍:

一、数据指标统计分析调度概述

二、具体实现方法

三、总结

 

一、数据指标统计分析调度概述

数据统计计算分析时的任务调度该怎样执行?

项目统计计算时的很多指标可以通过数仓进行查看,输入 show tables 即可,如果后续每天都要去计算这些指标,就需要软件去定时周期性的重复执行该命令,azkaban 的使用会非常的方便,要点还是如何利用 azkaban 去调度 SQL 语句。

 

二、具体实现方法

1、保证 sql 语句书写正确

打开参考资料文件夹,在文件夹中有一个 have-sql 文件,首先需要要明确,你要想完成调度,所有指标无论在哪里测试都要保证 sql 语句是正确的,例如模型:每个小时不重复来访 IP 产生的 PV、平均访问量、来访的 host 的 raphel 等。

2、编写调度

以 .job 配置为例,点击后打开可以看到 type=command,类型等于 command,command 命令为 sh 后的脚本还是调度的脚本,因此整个任务的重点就在这个脚本当中。

右键打开该脚本,可以看到脚本的数据来源于 user-dstc-ip-h, 每小时来访的 host 所产生的 PV 数,可以发现该 sql 语句是把其定义成了一个字符串,编写为 sql=,如果内容比较长,可以把它定义为一个 sql 文件,用-f完成调用。

删除这个表,然后创建新的表,由来访的 IP、PV 以及每个小时构成,通过 sql into 把数据抄入该表当中进行相关的操作。

3、检验表是否写入

在当前数仓中的 user-dstc-ip-H,为了验证其有没有真正完成,可以将其重新命名,比如将 drop 后改为 h1,下面的数据表都要进行创建,对应的之前表中的 h,insert into table 表示插入该表中,查询 Ip count1 as pvs,from ods weblog detail where datestr=20181101 group by contact{month,day,hour},将上述 sql 语句提出并进行验证,执行后确保其是否正确,如果报错,就不用进行 azkaban 下一步地执行。

执行后报错,提示 Table not found ods, 表示没有发现这个表,即表名出现问题了,不叫做 ods, 确定表名为 dw-weblog-detail,所以应修改为:from dw-weblog-detail。为了方便建议把所有表之前加上 itheima。

因为我在用 azkaban 进行操作的时候,是基于整个库资来进行的,没有具体选择某一个库,因此使用库表名的方式更为专业。

4、具体操作

把表名复制并创建该表,然后是 insert table itheima,插入这个表当中,日期为20181101 group by contact{month,day,hour},验证 sql 语句有没有问题,复制后打开 hive,在开发环境中保证 sql 没有问题是十分重要的,如果 sql 不加验证就直接提交到环境中运行将会产生十分严重的后果。

验证后如果 sql 语句没有任何问题就可以在 azkaban 中执行。然后打成一个 zip 压缩包,打开 azkaban 页面,在这里创建一个新的功能,叫做每个小时来访量,名称可以随便起,但是要保证在企业中有实际的意义。

创建完成后,把刚才压缩好的文件选择后上传,执行并验证是否可以完成数据操作,等待后发现结果变绿,而且显示为 succeeded,即执行成功,如果出错可以查询执行过程中哪些信息有问题。

接下来在 hive 中使用 show tables 命令来验证表是否真正存在,可以发现此时多了一个表 user-dstc-ip-h1,就是我们刚才创建的表。输入*from dw-user-dstc-ip-h1 limit 10,可以得到相关的数据。这样就完成了指标计算过程中的任务调度。

 

三、总结

这一部分的 azkaban 比较简单,主要在于如何编写 hive 的 sql 脚本,在开发环境下,要确保业务 sql 没有问题才能够执行起来,然后把 sql 提交到确定环境当中,利用 azkaban 或者其他工具进行线上的正式执行。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8天前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
9天前
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
|
17天前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第22天】mongoDB查看数据的插入日志
31 3
|
1月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
SQL 关系型数据库 数据库
实时计算 Flink版产品使用合集之同步PostgreSQL数据时,WAL 日志无限增长,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用合集之是否支持从库归档日志捕获数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
安全 Linux 调度
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
19 1
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第9天】mongoDB查看数据的插入日志
321 4
|
1月前
|
关系型数据库 MySQL 数据管理
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
222 0