• 日常学习记录随笔-大数据之日志(hadoop)收集实战


    在这里插入图片描述

    数据收集(nginx)--->数据分析---> 数据清洗--->数据聚合计算---数据展示
    可能涉及到zabix 做监控
    
    • 1
    • 2
    我们的项目 电商日志分析
    比如说我们现在有一个系统,我们的数仓建立也要有一个主题
    我这个项目是什么我要干什么定义方向
    对用户进行分析,用户信息 
    要懂整个数据的流程
    
    1. 前端埋点数据
    2. java业务端数据 (比如说 支付成功或者支付失败我要发到nginx 服务上)
    3. java (oltp数据)
    4. nginx 负载均衡 反向代理,基于nginx的access.log文件可以做日志收集  
    进而统计网站的pv
     埋点日志一条日志  229字节  一条埋点日志229字节
     10000w的点击量*229字节 (存储hdfs)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    nginx 专门做日志收集 
    flume专门做日志采集
    我们的日志分结构化和非结构化日志
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    DATAX/sqoop可以做数据迁移  数仓分离线数仓 以及实时数仓
    
    • 1

    在这里插入图片描述

    前端基于事件触发的埋点 比如说点击事件 
    java支付成功,支付失败的事件,可能Java业务端 付款成功会发一条请求  发送到nginx 服务上
    
    • 1
    • 2

    在这里插入图片描述

    我们的日志已经拿到了 包括支付成功,支付失败或者pv 点击事件
    我们会吧日志统一发送到------>nginx 负责采集
    nginx 的access.log 帮我们做统计日志的情况
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述

    然后我们可以基于awk sed grep 来进行nginx日志的处理
    nginx的access.log   我们的pv就出来了  我们nginx就充当了  日志收集着的角色
    
    然后我们可以启动一个springboot项目 通过maven打包  java-jar 执行
    nginx 收集到日志,我们下一步要吧这个nginx日志打到hdfs中
    接下来我们要配置flume 吧nginx数据导入到hdfs中 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    flume可以监控log的变化  
    
    我们吧数据从nginx 通过flume导入到了hdfs中 接下来我们要做的就是数据清洗
    
    如何吧数据进行拆解 拆解成我们想要的样子   
    
    我们要基于我们的业务 来分析 用什么软件 用了多少台服务器 集群配置  集群规划(什么版本)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    数据采集
    
    • 1

    在这里插入图片描述

    etl:做数据清洗,去除脏数据.如何吧数据进行拆解 拆解我们想要的样子
    
    • 1

    在这里插入图片描述

    在这里插入代码片
    
    • 1

    在这里插入图片描述

    做数据采集的思路
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    我到时候可以分析出  一个用户在一个会话中访问了多少网站
    吧数据进行拆分  我们etl会拿出数据进行分析 比如说ip,他们就会知道在那个地方访问的我
    用的什么浏览器
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    浏览器信息
    基于一个会话 我就可以知道他的页面链路了
    基于mr进行解析日志    之后映射成表
    我们的数据就洗出来了
    然后我们建维度 就给各个维度表里面导数据了
    当我们访问服务器的时候 就会有埋点日志
    java/js========>nginx 埋点日志数据----->hdfs -->(基于mr去进行拆解以及数据清洗)-->导入hive
    mr的作用帮我们解析日志 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    首先数据我们已经做了一些简单的清洗,错误的数据已经是没有了,不符合规则的数据
    我们肯定对数据进行一些计算
    我们要基于我们的业务数据进行建模(建立各种维度表)  
    先确定我们要分析的维度 (需求) ----------->基于维度建表
    我们会设计很多的维度表  来满足我们的需求
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

  • 相关阅读:
    dbForge SQL Complete据库范围的配置
    轻松合并多个小视频,并巧妙融入新音频与独特文案,打造专业级视频作品
    “全数前进”媒体交流会在京举办
    fastlio2 论文笔记
    CentOS7.9安装jdk1.8
    每日刷题记录 (二十四)
    Java 8 的新特性还没用起来,先不要想着升级到 Java 17
    (已导出)【kubernetes系列学习】client-go学习与实践
    【C/PTA】数组进阶练习(三)
    2023 ICPC 网络赛 第一场 部分题解 (待完善)
  • 原文地址:https://blog.csdn.net/weixin_43689953/article/details/133720771