开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):数据采集(二)】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19260
数据采集(二)
二、数据采集的定义和常用方法
了解了数据是什么之后,我们来看“数据采集”
如果我们要获得一张代表猫的图片,可以怎么做?
思路:
(1)用手机拍照
(2)上网搜索
可以用手机进行一个实物的拍照,或者是直接上网去搜索一张猫的图片,这些都是可以得到一张猫的图片的思路和方法。
1.数据采集的定义
随着网络和信息技术的不断提升,人类社会产生的数据量正在呈指数级增长。
每时每刻都在产生大量的数据,包括社交网络媒体数据,互联网传感器数据,商品交易数据,面对这些日益增长数据量,如何收集数据,并且进行相关的转换、存储以及有效率的分析,就成了一个巨大的挑战。
数据采集
又称数据获取;
指利用装置从系统外部采集数据并输入到系统内部的技术;
(简单来说对数据进行 ETL 操作)
对数据进行抽取、转换、加载操作;
目标是获得数据。
将分散的、凌乱的、标准不统一的数据采集并整合到一起,最终去构建一个数据仓库,构建了数据仓库之后才能对数据进行有效的分析和处理,因此数据采集的环节是数据分析当中非常重要的一个环节。
2.数据采集的4种常用方法
根据数据源的物理性质及数据分析的目标,用采取不同的数据采集方式。
网络数据采集
主要采集现实网页中的数据;常用API法和网络爬虫法。
端侧数据采集
主要采集已转换成电信号的各种物理量;常用摄像头、麦克风等端侧设备。
系统日志采集
主要采集用户行为日志、业务变更日志、系统运行日志常用 WebAPI方式、Service Proxy 方式、LCClient 方式。
数据库采集
主要采集数据库中的数据;常用 MySQL、Oracle、NoSQL 数
据库。
随着大数据在不同领域的应用,数据量特点以及用户群体也出现了分化并且在不同的应用领域,应该根据数据源的物理性质以及数据分析的目标采取,不同的数据采集方式对这些数据进行相应的采集。四种数据采集的常用方法第一种是网络数据采集,网络数据采集的使用范围比较广泛和自由,指的是利用互联网的技术对现实网页当中的数据进行采集预处理和保存,目前网络数据采集主要有两种方法,分别是 API 法和网络爬虫法,API 法又叫做应用程序接口法,指的是网站的管理者为了使用者方便统一编写的一种程序接口,该类的接口可以屏蔽掉网站底层复杂的算法,仅仅通过简单的调用就可以实现对数据的请求功能,目前主流的社交媒体平台均提供开放的 API 服务,可以在这些平台的官网开放平台上获取到相关的 DEMO,就可以根据这些 DEMO 自己去编写程序,从而去获取到这些数据。
第二种方法网络爬虫法,它实际上是一种按照一定规则自动的去抓取网络信息的程序或者脚本。爬虫也可以称之为蚂蚁或者是自动索引,又或者是模拟程序、蠕虫,最常见的爬虫是日常生活当中经常使用到的搜索引擎,第二种常用的数据采集方法是端测数据采集,端测数据采集指的是通过传感器,摄像头,麦克风等观测设备自动去采集数据的过程,被采集的数据主要是已转换成电信号的各种物理量,这里的物理量包括温湿度,速度,水位,压力等等一类的物理,端测的设备经常用到的是摄像头,麦克风,传感器等设备。
第三种常见的数据采集的方式是系统日志,系统日志可以记录系统当中软硬件和系统问题的信息,因此这一类分类包括系统日志、安全日志和应用程序日志,同时系统日志也可以监视系统中发生的事件,比如在系统受到攻击的时候,用户可以通过采集系统的日志以寻找攻击者留下的历史痕迹,或者是检查系统发生错误的原因等等,所以系统日志采集主要采集的是用户行为日志,业务变更日志以及系统运行的日志,目前系统日志采集技术的传输速度达到了每秒可传输数百兆的日志数据信息,基本满足了目前对信息传输速度的需求,高可用性,高可靠性和可拓展性是统日志采集方法所具有的基本特性。
整个的日志采集实现一般情况下分为三种方式,第一种是 webAPI 的方式,这种方式的实现是基于 HTTP 协议,通过 restful 的方式采集到日志数据,并发送至消息队列当中,主要是用于提供移动端,微信公众号及小量日志采集使用,在 net 分布式系统上可以结合 API 网关进行使用。
第二种方式是 service policy 方式,这种方式是基于 BLOCK4 .net 优秀的日志组件和消息队列客户端驱动的,进行封装为日志记录、服务代理提供了便捷统一的接口应用进行使用,也支持将日志记录发送到应用本地和在线实施的消息队列当中,进入到应用本地可以结合第三种方式完成应用日志采集的功能,最后一种是 LCClient 的方式,这种方式可以实现客户端批量抓取日志数据发送至 LC server,LCClient 客户端是基于TCP 协议与 LC server服务端进行的通讯,是基于有框架搭建的,可以支持高并发的处理能力,LC server 可以再将日志数据写入消息队列当中。
最后一种常见的数据采集方式是通过数据库采集,数据库指的就是长期存储在计算机内,有组织的可共享的大量数据的集合,传统企业会使用传统的关系型数据库来进行存储数据,比如 MYSQL、Oracle 数据,随着大数据时代的到来,redis, MQ DB、Hbase、NoSQL 数据库也常被作为整个数据采集的来源,企业通常是在采集端部署大量的数据库,并在数据库之间进行负载均衡和分片,是对整个采集任务进行一定的平衡,并分摊到多个操作单元上进行,以此来完成整个海量数据的采集工作。
3.本节回顾
通过本节的学习,我们学到了:
数据的定义和类别
数据不仅指狭义上的数字,也指具有一定意义的文字、字母、数字符号的组合
数据按照字段类型可分为文本类、数值类和时间类;按照按照数据结构,数据可分为结构化数据、非结构化数据和半结构化数据
在三种不同数据结构的数据当中,结构化数据大概占比只占到了20%,剩下80%的数据基本上都是以非结构化的数据方式存在。
数据采集的定义和常用方法
数据采集指的是利用装置从系统外部采集数据并输入到系统内部的技术。
数数据采集的常用方法主要包括4种:网络数据采集、端侧数据采集、系统日志采集、数据库采集。