网站流量日志分析—数据入库—含义和 ETL 本质解释|学习笔记

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析—数据入库—含义和 ETL 本质解释

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第三阶段) 网站流量日志分析—数据入库—含义和 ETL 本质解释】学习笔记,与课程紧密联系,让用户快速学习知识。

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


网站流量日志分析—数据入库—含义和 ETL 本质解释


数据入库的一条本质就是从各个数据提取数据,对数据进行转换并最终加载提成到数据仓库维度表当中,那么就是清处理完的数据,并且设计表格之后对这些数据应设好才可以开展后续的分析。

当下给予数仓的大数据分析平台作为数仓的分层,通常在中间的数据仓库层(DW),数仓本身不生产数据,只是分析数据的平台,数据从不用的数据源而来,比如数据源1,数据源2,数据源3,数据源4等等,这些数据源能够产生数据的地方,在企业当中数据库,爬虫系统,服务器日志可以产生数据源,直接把数据放进去就可以了,但是理论是这么说,现实是否能做,开展一个数仓数据分析大概要哪些步骤, 

首先第一点要干什么,数仓当中有一个非常重要的特性叫做面向主题,数仓分析的第一步往往是要分析确定已分析的主题,对于项目来说要分析网站流量日志,这个主题直接把后面收集数据或如何收集数据做了一个明显区分,相当于有了目标,有了主题之后,就要分析网站流量日志,就要分析订单销售情况,确定分析主题之后,基于主题寻找与之关联的数据,事实表的数据,要分析订单,把订单的数据找过来;要分析保险公司,把保险相关的数据找过来。确定好事实表主题之后,第三步是根据业务确定分析的维度,这些确定好之后,接下来就是采集收集数据,对数据进行预处理;然后把数据填充到数仓创建好的表中,映射成功,再开展后续分析,这是要想开展一个数仓分析大概需要确定的步骤,确定数据,找数据,找模型,把数据填充好开展分析,如果这个主题数据的数据源不是一个,比如分析的主题是保险,数据源是车险,数据栓是财险,数据式是人寿保险,都是保险,这时候产生问题一个主题的数据来自于不同的数据源,企业当中又没说一个主题只能对于一个数据源放在一个主题上,这些数据源都是跟主题相关的,是否能直接把许多数据源放在一个主题上开展分析。

举个简单例子,比如这里面它有一个单位,保险的金额元做单位,这里是以千为单位,这里是以万作为单位,它们的单位不统一,如果不加规整统一,直接把三个数据源直接放到主题下面,后面一旦涉及到保险金额的求和,求最大最小值,直接使用不统一单位,后面造成很多结果是错误的,因此可能产生多个不同的数据源,所以需要一个临时中转层,原数据层和数据源有什么关系。

原数据层的数据来自于各个不同的数据源,通常用于数据的临时储存,不对外直接分析。这时候通过相关工具把相关联的数据首先把它集中到 ODS 当中,在汲取过程当中进行相关的抽取,这个数据源12只需要123三个字段,以此类推,再经过相关的转换规整,最终把数据填充到主题当中,这时候发现数据从各个不同数据源经过中间这么多步骤抽取转化加载,最终填充到数仓主题当中,这些步骤称之为 ETL,本身是三个单词的缩写,(E 表示抽取,T 表示转换,L 表示加载)这三步生动形象的描述从各个不同数据源带数据仓库的故事。因此所谓的数据入库(数据仓库),专业称之为 ETL 。

把握住 ETL 本质,经过抽取转换加载把各个不同的数据源数据加载到数据仓库指定的主题下面,跟对应的事实表映射上,便于后续的数据分析,这就是一条的专业说法。

举例,这时候又确定一个新的主题,这个主题数据比较单一,它只需要一个数据源,只需要数据源1,这时候当主题数据比较单一,又比较干净整洁规整的时候,没有必要再经过 ODS 中转,直接把数据经过抽取或者不抽取直接放在数据当中也称为数据入库的过程。因此可以发现 ODS 在企业当中并不是百分之百需要的,要把握住本质,不管有没有原数据,最终目的把数据源填充到数据仓库当之中。

ETL 的方式,在企业当中有两种方式,一个叫做手动 ETL (使用 command shell Hadoop hivesql 把数据填充到 DW中),用于一些工具命令,另一个叫做软件 ETL (使用 sqoop kettle),其实最终还是用手来操作,这些软件它可以去对接这样的数据经过设置的抽取转换加载把数据填充到 hivesql 当中,不管是手动,写脚本写命令还是工具,最终的本质把握住,只要把数据按照确定的模型模式填充到数据当中,便于后续分析,就称为 ETL

image.png

ETL工作的实质就是从各个数据源提取数据,对数据进行转换,并最终加载填充数据到数据仓库维度建模后的表中。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
117 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
16天前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
20 2
|
10天前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
44 0
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
13天前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
2月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
110 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
1月前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
165 3
|
2月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
44 0