网站流量日志分析—数据入库—宽表、窄表由来概述|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析—数据入库—宽表、窄表由来概述

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第三阶段)网站流量日志分析—数据入库—宽表、窄表由来概述】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/695/detail/12203


网站流量日志分析—数据入库—宽表、窄表由来概述


这个概念背后所反映的正是面向分析的最高标准,一切有利于分析即可。在搞清楚概念之前,首先想一下,之前经过操作已经把数据导入到 ods 当中,接下来经过 etl 把它导入到 dw 层即可完成最后的入库操作。当然在 etl 过程当中需要抽取什么字段,转化成什么字段是根据需求相关,如果它比较 不 etl 也行,所以说本质把握住清楚。为什么 etl 过程当中会出现窄表宽表,为了更好理解它,通过一个简单的需求去感受一下什么是宽表什么是窄表,有什么区别,什么好处。

统计分析今天每个小时有多少访问量,首先第一个,宽表窄表的引入,这时候要统计访问量,今天当然是数据的一天,在 origin 原始表当中,这当中正好是今天的20181101,要统计今天当中哪个小时背后需求,要根据小时 hour 进行分组, group by 分组之后统计每个组内的个数 count ,怎么统计不是重点,重点在于分组,要统计每个小时分组,在表当中有关小时的字段,

image.png

确定一下,能跟时间相关的就是这个字段叫做 time local ,发现这字段当中包含的属性很多,有年月日时分秒,需要跟当中的06这几个记录来到同一分组,不管是六点四十九分还是六点五十分,都属于六点,只要属于六点,就应该来到同一小时当中,如果在当下的数据当中要开展分析,因为数据小时如何在字段当中一部分,需要对字段进行截取,当下的情况 group by 当中并不能而是进行截取,叫做 substring ,这是个截取符号。如何截取,从一二三四五六七八九十空格十一,从第12位开始截取两位就是这里也需要做一个相关的具体操作从第12位开始截取两位叫做 time local 字段,如果这样写,在信任有什么问题,首先要解释下到底能不能截取出来,复制做测试,select from这个表origin原始日志表,这么操作到底问题在哪里,

image.png

截取出来的是06,截取字段一样来到同一个分组问题在哪里?首先这样可以做告诉你这样做没问题,但它缺点在于每一条记录在分组之前都需要进行所谓的结局操作,截取操作完成之后截取字段一样的才能来到同一个分组,那你想一下这个数据如果有100万需要截取100万次,有3就截取3次,那么为什么会造成这种原因,有个字段叫做 time local,看上去它是一个字段,实际上它里面包含的属性非常多,刚才易解读出来了里面有什么,有年月日时分秒左边这叫做日期右边叫做时间,比如说一个字段当中如何了很多个字段属性,那么根据里面某一个字段进行操作的时候,当然就需要进行截取,虽很简单,在描写一下为什么会写下的原因叫做表中的字段看似一个字段实则糅杂了多个属性在一起,就比如时间,看似是一个字段实则糅杂了年月日时分秒还有日期时间字段,那么后边分析是不是就要进行截取唯一不方便,那这时候明白原因之后,

下一个问题怎么解决,既然是多个属性结合在一起,那接下来就要进行拆分,把糅合在一起的属性拆分出来变成单独独立的新字段,比如拆除一个新的字段就叫做 hour,在分组说直接进行 group by hour,这样分组是非常方便就不需要截取了。所以解决它之后就产生了一个结果,原来表当中的字段一个拆分出来变成多个字段变多了,表的字段变多了,所以这个表成为什么,因为表的字段相比较之前变多了,所以把它称之为宽表,相对应原来没有拆分之前原来对应的表称之为叫做窄表,所以为什么有宽表窄表,原因就在这。

又因为字段变多之后,信息变得更加具体的变得更加详细了,比如这里想看年看年,先看月看月,也把宽表看成了一个什么,叫做明细表明细的单词叫做 detail明细详细表。所以再回头调剂,又因为变宽之后信息更加详细具体,所以也可以称之为叫作明细表。这就是这个标题支点的由来,为什么会有宽表窄表明细表,原因就在于此。表当中的字段组合在一起分析的时候需要截取效率极低不利于分析,为了分析方便给它做一个拆分,那么这时候感受到宽表数据是完全来自于窄表通过我们的窄表进行截取操作,那么这时候背后能够感觉到一个忧患点一个隐藏的忧患,这两份表的数据是不是完全重复,总和度极高,答案是非常正确的融合度极高几乎百分之百融入。那么为什么还可以允许它?说到树上领域的最高标准叫什么一切有利于分析即可为。宽表的出现叫做为了分析的方便,当为了分析方便就可以把宽表给它拆分出来变成所谓的明细表,这样即使两个表的数据冗余度很高那么也可以只要费一方面就可以操作。那么这就是宽表窄表的概念,什么宽字段变多了较宽什么窄以前的相对应的层次窄表。这就是我们宽表摘窄表一个概念描述。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
151 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
514 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
2月前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
49 2
|
4月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
2月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
279 0
|
2月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
4月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
145 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
3月前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
254 3
|
4月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?

热门文章

最新文章