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

本文涉及的产品
日志服务 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日志并进行多维度分析。
相关文章
|
17天前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
1月前
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第9天】mongoDB查看数据的插入日志
321 4
|
1月前
|
存储 监控 数据可视化
无需重新学习,使用 Kibana 查询/可视化 SLS 数据
本文演示了使用 Kibana 连接 SLS ES 兼容接口进行查询和分析的方法。
66635 11
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第2天】mongoDB查看数据的插入日志
338 0
|
1月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
存储 Java 关系型数据库
基于JSP的九宫格日志网站
基于JSP的九宫格日志网站
|
8天前
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第22天】mongoDB查看数据的插入日志
31 3
|
1月前
|
安全 Linux 调度
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
19 1

热门文章

最新文章