国际认证

谈谈关于数据治理中大数据采集的常见问题

2022-12-27 09:14:56 | 来源:企业IT培训

什么是数据采集:
数据采集是大数据的基石,不论是现在的互联网公司,物联网公司或者传统的IT公司,每个业务流程环节都会产生大量的数据,同时用户操作的日志也会产生大量的数据,为了将这些结构化和非结构化的数据进行采集,我们必须要有一套完整的数据采集方案流程,为后续的数据分析应用提供数据基础。
根据不同业务场景,对于数据采集的时效性要求也是不一样的,一般分为离线数据采集和实时数据采集。
离线数据采集:
离线数据采集主要包括从数据库中采集,如MySQL、Oracle、MongoDB等;从离线文件采集,如外部系统数据。每天凌晨会抽取前一天的数据(T+1),对于维度数据一般采用每次全量采集,对于业务数据,为了提高采集效率,同时也为了保住业务数据库的稳定性,采用每天增量采集,然后将T+1的数据合并成新的全量数据。
对于关系型数据库,如MySQL,一般是有主从数据库的,为了保住稳定和不影响主库的查询性能,我们一般抽取从库数据。对于文件数据抽取前需要先检测文件是否存在,源系统提供文件的时候需要提供对应的校验文件,校验文件里一般包含文件的记录数、字段格式等信息。采集到文件后需要对文件进行校验,文件完整的情况下才能继续后续数据处理程序。
实时数据采集:
实时数据采集主要是一些页面日志的采集,也就是我们常说的用户行为分析数据。日志采集一般有以下几个步骤:数据埋点,数据上报,数据存储。
数据埋点:网站上线后一般会植入一段JS脚本,用户访问页面时,JS会收集当前页面的一些信息,用户问的上下文信息以及当前访问的页面业务相关数据。
数据上报:JS执行完毕后,会将所有收集到的信息拼装到一个请求内,通过日志请求将数据发送到日志服务器,存储为JSON文件;一般情况下,在 JS 执行完成后就会立即向日志服务器发送消息队列中。
数据存储:存储在磁盘上的文件会部署数据采集组件比如Flume,将采集到的日志数据发送到HDFS进行存储或者转存到HBase进行存储。消息队列的数据则可以直接消费落地到HDFS或者HBase进行存储。
想要了解更多政策信息可以咨询中培课程顾问李老师18911709446(同微信)