• 日常学习记录随笔-大数据之日志(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

    在这里插入图片描述

  • 相关阅读:
    WPF 控件小技巧记录(持续更新)
    数据库 MySql快速导入外部数据库流程
    tensorflow与GPU版本对应安装问题
    【LeetCode】17. Longest Palindrome·最长回文串
    冥想第五百二十二天
    怎样在nature上查文献?
    docker:dockerfile构建镜像
    MySQL数据库创建用户并授权查询某个表
    Delayed 延时任务
    关于升级高德地图导航9.5.0的问题 ‘com.amap.api:navi-3dmap:9.5.0_3dmap9.5.0‘
  • 原文地址:https://blog.csdn.net/weixin_43689953/article/details/133720771