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

news2024/9/24 13:14:31

在这里插入图片描述

数据收集(nginx)--->数据分析---> 数据清洗--->数据聚合计算---数据展示
可能涉及到zabix 做任务调度
我们的项目 电商日志分析
比如说我们现在有一个系统,我们的数仓建立也要有一个主题
我这个项目是什么我要干什么定义方向
对用户进行分析,用户信息 
要懂整个数据的流程

1. 前端埋点数据
2. java业务端数据 (比如说 支付成功或者支付失败我要发到nginx 服务上)
3. java (oltp数据)
4. nginx 负载均衡 反向代理,基于nginx的access.log文件可以做日志收集  
进而统计网站的pv
 埋点日志一条日志  229字节  一条埋点日志229字节
 10000w的点击量*229字节 (存储hdfs)

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

然后我们可以基于awk sed grep 来进行nginx日志的处理
nginx的access.log   我们的pv就出来了  我们nginx就充当了  日志收集着的角色

然后我们可以启动一个springboot项目 通过maven打包  java-jar 执行
nginx 收集到日志,我们下一步要吧这个nginx日志打到hdfs中
接下来我们要配置flume 吧nginx数据导入到hdfs中 

在这里插入图片描述

flume可以监控log的变化  

我们吧数据从nginx 通过flume导入到了hdfs中 接下来我们要做的就是数据清洗

如何吧数据进行拆解 拆解成我们想要的样子   

我们要基于我们的业务 来分析 用什么软件 用了多少台服务器 集群配置  集群规划(什么版本)

在这里插入图片描述

数据采集

在这里插入图片描述

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

在这里插入图片描述

在这里插入代码片

在这里插入图片描述

做数据采集的思路

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

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

在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1074823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c++】new一个新数组时数组地址变化的现象

若new生成数组的时候&#xff0c;无论每一行的行数组大小是否相同&#xff0c;其一维指针与实际元素存放的地址完全不同。 #include<iostream> using namespace std;int main(void) {int** dp new int* [5 1];for (int i 0; i < 5; i) {dp[i] new int[i];//初始化…

java基础API date日期

package daysreplace; import com.sun.jdi.IntegerValue;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;public class Test {public static void main(String[] args) {Date date new Date();System.out.println(date);//输出不为内存地…

乐鑫 ESP-Mesh-Lite在windows下的开发环境搭建(二)

上一篇文章的只能在例程文件夹内进行编译&#xff0c;一旦将示例程序复制到其他文件夹&#xff0c;清理后再编译时会出现编译错误。今天发现了一种的开发环境部署方法&#xff0c;实际上esp-mesh-lite文件夹里就有介绍&#xff0c;只是我还不熟悉IDF的操作&#xff0c;到今天才…

[LitCTF 2023]作业管理系统 - 文件上传+弱口令

[LitCTF 2023]作业管理系统 解题流程 解题流程 1、F12看到页面源代码有注释&#xff1a;默认账户admin admin   使用&#xff1a;admin-admin 可直接登录 2、上传一句话木马   3、蚁剑连接找flagNSSCTF{d969ad7a-9cb5-4564-a662-191a00e007a5}

代码随想录算法训练营第四十八天 | 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 链接&#xff1a; 代码随想录 &#xff08;1&#xff09;代码 322. 零钱兑换 视频讲解&#xff1a;动态规划之完全背包&#xff0c;装满背包最少的物品件数是多少&#xff1f;| LeetCode&#xff1a;322.零钱兑换_哔哩哔哩_bilibili …

Go 1.22 将修复 for 循环变量错误

导读上月正式发布的 Go 1.21 修改了 for 循环变量的语义&#xff08;预览阶段&#xff0c;点此查看详情&#xff09;。 现在&#xff0c;Go 团队表示 Go 1.22 会将这项特性发布为正式功能。 根据 Go 开发团队技术 leader Russ Cox (rsc) 的介绍&#xff0c;Go 开发者经常会犯的…

【C++】STL详解(十四)—— bitset(位图)的模拟实现

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】STL…

日常学习记录随笔-seata

我们知道所有的事务都要满足ACID的原则,也就是原子性 一致性 隔离性 持久性 在单体架构中服务访问db.基于数据库本身的特性就能够实现acid 微服务的架构比较复杂 可能一个业务要跨越多个服务 每个服务又会有自己的db库 再靠数据库本身的特性 还能保证acid么这个业务 就包含3…

翻译:网站整站翻译 / 网站国际化 / 极简实现

一、本文目标 以极简单的方法实现整站翻译&#xff0c;轻松实现国际化。 二、js 文件 https://res.zvo.cn/translate/translate.js 三、代码 代码放在浏览器控制台即可实现 var head document.getElementsByTagName(head)[0];var script document.createElement(script);sc…

【算法|动态规划No.17】leetcode64. 最小路径和

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

多路彩灯控制器LED流水灯花型verilog仿真图视频、源代码

名称&#xff1a;多路彩灯控制器LED流水灯花型verilog 软件&#xff1a;Quartus 语言&#xff1a;Verilog 代码功能&#xff1a; 用quartus和modelism&#xff0c;设计一个多路彩灯控制器&#xff0c;能够使花型循环变化&#xff0c;具有复位清零功能&#xff0c;并可以选择…

unity操作_光源组件 c#

准备工作 添加资源导入后先不管&#xff0c;现在主要学习自带Directional Light 我们首先创建一个平面Plane 然后重置一下位置 然后创建一个Cube 也重置一下位置然后修改y0.5刚好在这个平面上 ctrl d复制一个Cube 修改位置和旋转角度 给物体一个颜色 接下来创建一个点光源 我们…

基于python判断回文字符串

一、功能程序 可以使用以下代码&#xff0c;来判断一个字符串是否为回文字符串&#xff1a; def is_palindrome(string):# 将字符串转换为小写&#xff0c;并去除空格和标点符号string .join(e for e in string.lower() if e.isalnum())# 检查字符串是否等于它的反转return …

SpringCloud学习笔记-Ribbon负载均衡

目录 1.负载均衡策略2.自定义负载均衡策略3.饥饿加载 SpringCloudRibbon的底层采用了一个拦截器&#xff0c;拦截了RestTemplate发出的请求&#xff0c;对地址做了修改。用一幅图来总结一下&#xff1a; 基本流程如下&#xff1a; 拦截我们的RestTemplate请求http://userserv…

每日练习-9

目录 1、井字棋 2、密码强度等级 3、二维数组中的查找 4.调整数组奇数偶数 5.旋转数组中的最小元素 6、替换空格 1、井字棋 解析&#xff1a;井字棋有四种情况表示当前玩家获胜&#xff0c;行全为1&#xff0c; 列全为1&#xff0c;主对角全为1&#xff0c; 副对角全为1。遍历…

pytorch学习------TensorBoard的使用

目录 简介使用方式1、单条曲线(scalar)2、多条曲线(scalars)3、直方图(histogram)4、图片(image)5、渲染(figure)6、网络(graph) 简介 建好一个神经网络&#xff0c;其实我们也不知道神经网络里头具体细节到底做了什么&#xff0c;要人工调试十分困难(就好比你无法想象出递归的…

Markdown文本编辑器常用操作介绍

文章目录 标题文本样式列表图片链接目录插入代码插入表格 背景说明 Markdown语言是国际杂志编辑以及许多写作者都广泛使用的写作语言它使用一些简单的符号&#xff08;* / > [] () #&#xff09;来标记文本格式其简洁的语法、优美的格式以及强大的软件支持深受广大网友的喜…

基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码

基于蝠鲼觅食优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于蝠鲼觅食优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.蝠鲼觅食优化BP神经网络3.1 BP神经网络参数设置3.2 蝠鲼觅食算法应用 4.测试结果…

Java @Override 注解

在代码中&#xff0c;你可能会看到大量的 Override 注解。 这个注解简单来说就是让编译器去读的&#xff0c;能够避免你在写代码的时候犯一些低级的拼写错误。 Java Override 注解用来指定方法重写&#xff08;Override&#xff09;&#xff0c;只能修饰方法并且只能用于方法…

自定义背景画词云图(中文)

背景 词云图还是挺需要用的吧&#xff0c;大量的词中&#xff0c;我们可以快速捕捉到高频的关键的词汇。 环境&#xff1a;python3 对csv文件里面某列所有字符串画词云图&#xff08;中文的字符&#xff09; 新安装环境&#xff1a; 1.下载中文字体SimHei.ttf&#xff0c;并放…