谈谈大数据采集和常见问题

news2024/12/23 20:24:17

01

什么是数据采集

数据采集是大数据的基石,不论是现在的互联网公司,物联网公司或者传统的IT公司,每个业务流程环节都会产生大量的数据,同时用户操作的日志也会产生大量的数据,为了将这些结构化和非结构化的数据进行采集,我们必须要有一套完整的数据采集方案流程,为后续的数据分析应用提供数据基础。

根据不同业务场景,对于数据采集的时效性要求也是不一样的,一般分为离线数据采集和实时数据采集。

图片

02离线数据采集

离线数据采集主要包括从数据库中采集,如MySQL、Oracle、MongoDB等;从离线文件采集,如外部系统数据。每天凌晨会抽取前一天的数据(T+1),对于维度数据一般采用每次全量采集,对于业务数据,为了提高采集效率,同时也为了保住业务数据库的稳定性,采用每天增量采集,然后将T+1的数据合并成新的全量数据。

图片

对于关系型数据库,如MySQL,一般是有主从数据库的,为了保住稳定和不影响主库的查询性能,我们一般抽取从库数据。对于文件数据抽取前需要先检测文件是否存在,源系统提供文件的时候需要提供对应的校验文件,校验文件里一般包含文件的记录数、字段格式等信息。采集到文件后需要对文件进行校验,文件完整的情况下才能继续后续数据处理程序。

图片

03

实时数据采集

实时数据采集主要是一些页面日志的采集,也就是我们常说的用户行为分析数据。日志采集一般有以下几个步骤:数据埋点,数据上报,数据存储。

图片

  • 数据埋点:网站上线后一般会植入一段JS脚本,用户访问页面时,JS会收集当前页面的一些信息,用户问的上下文信息以及当前访问的页面业务相关数据。

  • 数据上报:JS执行完毕后,会将所有收集到的信息拼装到一个请求内,通过日志请求将数据发送到日志服务器,存储为JSON文件;一般情况下,在 JS 执行完成后就会立即向日志服务器发送消息队列中。

  • 数据存储:存储在磁盘上的文件会部署数据采集组件比如Flume,将采集到的日志数据发送到HDFS进行存储或者转存到HBase进行存储。消息队列的数据则可以直接消费落地到HDFS或者HBase进行存储。

图片

04

数据采集的问题

  • 是不是所有的日志数据都实时采集?

用户的每个操作都会产生一个操作日志,但并不是每生成一条日志就实时上报至服务器,而是在产生日志后,先暂存在客户端本地,再结合着相应的上报控制策略进行数据上报。其中上报策略主要指根据日志的业务特性,数据的时效性,用户的网络特性等等信息设定不同的上报策略,有些日志会因为其数据时效性的要求进行实时数据上报,而有些日志则会在用户启动应用,或者间隔一段时间后将日志上报上来。

  • 总是找不到想要的埋点数据?

在实际业务数据采集中会发现每个模块的业务数据格式都是不一样的。因此就需要设计一种日志数据采集标准,可以针对特定的业务场景,制定通用的数据采集标识,研发人员在进行页面埋点时,依据标准的数据采集标识规则进行埋点,从而收集业务的详细信息。这个标准需要产品经理、前端开发人员、数据开发人员、数据分析人员、数据运营人员等多方达成一致,确保后面产品展现、埋点开发、模型开发、数据分析和运营能够正常开发、解析、统计分析数据。

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

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

相关文章

负载测试和功率分析中负载箱的重要作用

在负载测试和功率分析中,负载箱扮演着至关重要的角色。以下是负载箱在这两个方面的重要作用: 一、负载测试中的重要作用 模拟实际负载条件: 负载箱能够模拟各种复杂的负载条件,包括电阻性负载、电感性负载、电容性负载等&#x…

基于springboot和mybatis的RealWorld后端项目实战二之实现tag接口

修改pom.xml 新增tag数据表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for tags -- ---------------------------- DROP TABLE IF EXISTS tags; CREATE TABLE tags (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,PR…

卷积加速算法img2col、Winograd、FFT

FFT 空间域中矩阵的卷积算子,实际等于频率域中两个矩阵元素相乘。但卷积的方向是相反的。 通常情况下,feature的尺寸要比卷积的尺寸大很多,如果对两者进行快速傅里叶变换的话,得出来的两个矩阵大小不一样,不能进行对…

Java读写t5557卡源码

T5557卡是美国Atmel公司生产的多功能非接触式射频卡芯片,属于125KHz的低频卡,在国内有广大的应用市场。该芯片共有330bit(比特)的EPROM(分布为10个区块, 每个区块33bit)。0页的块0是被保留用于设置T5557操作模式的参数配置块。第0页第7块可以作用户数据块…

ATA-8202射频功率放大器有什么作用

射频功率放大器是一种专门用于放大射频信号功率的电子器件。它在无线通信、雷达系统、卫星通信、医疗设备和广播电视等领域中发挥着重要作用。下面安泰电子将介绍ATA-8202射频功率放大器的作用及其在不同应用领域中的具体应用。 一、ATA-8202射频功率放大器的作用 射频功率放大…

短链接day8

短链接监控 开发访问单个短链接监控统计功能 不知道是哪里复制错了,反正就是一顿报错,改了这个又改那个,还是报错。。暂时不管了。 记录短链接访问日志 logdo新增networt、device、local属性。 分页查询短链接访问日志 分页查询短链接今…

使用Bind提供的域名解析服务

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 目录 一、DNS域名解析服务 二、安装Bind服务程序 1、正向解析 2、反向解析 三、部署从服务器 四、安全的加密传输 五、部署缓存服务器 六、分…

AI算法19-偏最小二乘法回归算法Partial Least Squares Regression | PLS

偏最小二乘法回归算法简介 算法概述 偏最小二乘法模型可分为偏最小二乘回归模型和偏最小二乘路径模型。其中偏最小二乘回归模型是一种新型的多元统计方法,它集中了主成分分析、典型相关分析和线性回归的特点,特别在解决回归中的共线性问题具有无可比拟…

在JavaScript中,什么是解构赋值(destructuring assignment)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介在JavaScript中,什么是解构赋值(destructuring assignment)?1. 引言2. 解构赋值的概念3. 数组解构赋值3.1 基本语法3.2 跳过元素3.3 默认值3.4 交换变量值 4. 对象解构赋值4.1 基本语…

“解锁物流新纪元:深入探索‘沂路畅通‘分布式协作平台“

"解锁物流新纪元:深入探索沂路畅通分布式协作平台" 在21世纪的数字浪潮中,物流行业作为连接生产与消费的关键纽带,其重要性不言而喻。然而,随着市场规模的持续扩大和消费者需求的日益多样化,传统物流模式已…

150个pb网站模板(都是成品网站,上传php空间即可使用),建站必备

一网友提供的150个pb网站模板,其实就是成品网站,上传php空间即可使用,属于建站公司或者建站开发人员必备的资源。 一共150个基于pb的成品网站,基本上都可以找到适应你手头客户需要的一款,简单修改一下即可交活收钱了。…

LinuxShell编程1———shell基础命令

文章目录 前言 一、shell基础知识 1、shell概念 2、Shell的功能 接收:用户命令 调用:相应的应用程序 解释并交给:内核去处理 返还:内核处理结果 3、Shell种类(了解) 3.1、MS-DOS 3.2、Windows的…

图片在线怎样做二维码?制作二维码展示图片的制作方法

图片想要更快捷的分享给其他人展示,除了通过网站平台之外,比如朋友圈、qq空间、微博等方式外,现在很多人也会通过生成二维码的方法,让其他人可以通过扫描二维码查看图片。图片转换二维码的好处有很多,比如可以节省空间…

【C++航海王:追寻罗杰的编程之路】智能指针

目录 1 -> 为什么需要智能指针? 2 -> 内存泄漏 2.1 ->什么是内存泄漏,以及内存泄漏的危害 2.2 -> 内存泄漏分类 2.3 -> 如何避免内存泄漏 3 -> 智能指针的使用及原理 3.1 -> RAII 3.2 -> 智能指针的原理 3.3 -> std…

IDEA创建普通Java项目

环境准备 Java环境 运行javac查看java环境是否安装完成 开发工具Intellij IDEA 下载地址:https://www.jetbrains.com/idea/download/?sectionwindows 创建项目 点击新建项目 填入项目名字,项目路径,选择maven,点击下面的创建 运行项目 …

贪心,CF 1891C - Smilo and Monsters

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1891C - Smilo and Monsters 二、解题报告 1、思路分析 操作二显然很划算的,但是操作2有代价,为了更划算,我们要让操作2的操作次数最少 即,操作二尽可能用在…

Apollo docker-compose

来源 https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 路径 /usr/apollo Sql 自己复制 Vim docker-compose.yml #如果安装过了 记得删除mysql 历史文件 rm -r /var/lib/mysql version: 2.1services:apollo-quick-start:image: nobodyiam/apollo-quick…

MongoDB教程(六):mongoDB复制副本集

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MongoD…

React 速通笔记

前言 最近刚学完 React,想着把笔记分享给大家,本笔记特别适合从事后端想要学习前端的人。我看视频是黑马最新的 React 视频(黑马程序员前端React18入门到实战视频教程,从reacthooks核心基础到企业级项目开发实战(B站评…

Windows 2012安装之实现远程连接

新建虚拟机 点击稍后安装操作系统 点击Microsoft Windows(W) 选择Windows Server 2012 设置虚拟机名称、安装位置 选择你的电脑核数 点击编辑虚拟机设置 点击CD/DVD(SATA) 使用ISO映像文件(M) 配置完之后点击确定 然后开启虚拟机 下一步: 点击现在安装&#xff1a…