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

本文涉及的产品
日志服务 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日志并进行多维度分析。
相关文章
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
|
24天前
|
运维 监控 Cloud Native
一行代码都不改,Golang 应用链路指标日志全知道
本文将通过阿里云开源的 Golang Agent,帮助用户实现“一行代码都不改”就能获取到应用产生的各种观测数据,同时提升运维团队和研发团队的幸福感。
|
2月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
5月前
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
45 0
|
6月前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
7月前
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
100 0
|
7月前
|
存储 SQL 数据采集
通过定时SQL提取阿里云API网关访问日志指标
背景阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计算多种指标,监测服务运行情况。继而通过定时SQL将结果指标直接存储到时...
通过定时SQL提取阿里云API网关访问日志指标
|
7月前
|
存储 弹性计算 监控
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
本文就通过一个客户的实际案例开介绍如何使用在无法直接开启CEN flowlog的情况下,使用SLS的数据加工能力,从VPC flowlog的数据中过滤出客户需要的流量日志出来。
154 0
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
348 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
14天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。

热门文章

最新文章