版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章数据采集与抽取数据采集概述数据采集又称数据获取,是指利用某些装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,比如摄像头、麦克风以及各类传感器等都是数据采集工具。而大数据采集则是指从传感器和智能设备、企业在线系统、企业离线系统、社交网络和互联网平台等获取数据的过程。在数据采集过程中,人们可以使用网卡、条形码、触摸屏、PDA、RFID等各种设备进行数据的采集。大数据采集与一般的传统采集不同,大数据的采集过程的主要特点和挑战是并发数高,因为同时可能会有成千上万的用户在进行访问和操作。此外,根据数据源的不同,大数据采集方法也不相同。但是为了能够满足大数据采集的需要,大数据采集时大多都使用了大数据的处理模式,即MapReduce分布式并行处理模式或是基于内存的流式处理模式。在大数据体系中,数据主要包含以下五类:1)业务数据:消费者数据、客户关系数据、库存数据、账目数据等。2)行业数据:车流量数据、能耗数据、PM2.5数据等。3)内容数据:应用日志、电子文档、机器数据、语音数据、社交媒体数据等4)线上行为数据:页面数据、交互数据、表单数据、会话数据、反馈数据等。5)线下行为数据:车辆位置和轨迹、用户位置和轨迹、动物位置和轨迹等。在大数据体系中,数据主要包含分为以下四类:1)企业系统:客户关系管理系统、企业资源计划系统、库存系统、销售系统、图书管理系统等。2)机器系统:智能仪表、工业设备传感器、智能设备、视频监控系统等。3)互联网系统:电商系统、服务行业业务系统、政府监管系统等。4)社交系统:微信、QQ、微博、博客、新闻网站、朋友圈等。日志数据采集常见方法在大数据采集中,特别是在互联网应用中,不管是采用哪一种采集方式,其基本的数据来源大都是日志数据。目前常见的日志数据采集方法包含两类:浏览器日志采集和客户端数据采集。日志数据处理常见方法目前,在企业中对日志的处理可分为在线处理和离线处理两大类。
数据采集平台Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。Fluentd是一个开源的数据收集器,专为处理数据流设计,有点像
syslogd
,但是使用JSON作为数据格式。它采用了插件式的架构,具有高可扩展性高可用性,同时还实现了高可靠的信息转发。
Splunk是一个分布式的机器数据平台,它提供完整的数据采金,数据存储,数据分析和处理,以及数据展现的能力。
Chukwa是一个开源的监控大型分布式系统的数据采集系统,它构建于HDFS和Map/Reduce框架之上,并继承了Hadoop优秀的扩展性和健壮性。在数据分析方面,Chukwa拥有一套灵活、强大的工具,可用于监控和分析结果来更好的利用所采集的数据结果。
Scribe是facebook开源的日志采集系统,在facebook内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。
数据采集工具鸟巢采集器是一款基于Web网页的数据采集工具,它基于Java语言开发,采用分布式架构,拥有强大的内容采集和数据过滤功能,能将用户采集的数据发布都远程服务器上。简数数据采集平台是一个完全在线配置和云端采集的网页数据采集和发布平台,功能强大,操作简单。并提供网页内容采集、数据加工处理、SEO工具和发布等数据采集基本功能。GrowingIO是基于用户行为的新一代数据分析产品,不需要开发人员埋点,就可以详细地收集用户的数据。平台可以在不涉及用户客人隐私的情况下,将所有可以抓取的数据细节进行收集整理。后羿采集器是基于人工智能技术开发的产品,能够智能采集和分析数据。用户只需输入网址就能够自动识别采集内容。八爪鱼采集器是一款网页采集软件,具有使用简单,功能强大等诸多优点。该软件以分布式云计算平台为核心,可以在很短的时间内,轻松从各种不同的网站或者网页获取大量的规范化数据,帮助任何需要从网页获取信息的客户实现数据自动化采集,编辑,规范化,摆脱对人工搜索及收集数据的依赖,从而降低获取信息的成本,提高效率。火车采集器是一款功能强大且易于上手的专业采集软件,也是一个可以供各大主流文章系统,论坛系统等使用的多线程内容采集发布程序。该软件可以由用户自定义规则以抓取网页中的数据。对于数据的采集其可以分为两部分,一是采集数据,二是发布数据。网络爬虫(WebSpider)又称之为网络机器人、网络蜘蛛,是一种通过既定规则,能够自动提取网页信息的程序。爬虫的目地在于将目标网页数据下载至本地,以便进行后续的数据分析。爬虫技术的兴起源于海量网络数据的可用性,通过爬虫技术使我们能够较为容易的获取网络数据,并通过对数据的分析得出有价值的结论。网页数据采集与实现网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫和深层网络爬虫等。不过,在实际的应用中网络爬虫系统通常是由以上几种爬虫技术相结合而实现的。urllib模块urllib是Python自带的一个用于爬虫的模块,其主要作用就是可以通过代码模拟浏览器发送请求。在urllib模块中可以使用urllib.request.urlopen()函数访问网页Requests库Requests是用Python语言编写,基于urllib,采用Apache2Licensed开源协议的HTTP库。它比urllib更加方便,可以节约开发者大量的工作,完全满足HTTP测试需求。BeautifulSoup库BeautifulSoup是一个Python库,它将HTML或XML文档解析为树结构,以便于从中查找和提取数据,因此BeautifulSoup通常用于从网站上抓取数据。
1)文本清洗领域。2)语音数据加工领域。3)视频图像处理领域。4)地理信息处理领域。数据抽取数据抽取是指从数据源中抽取对企业有用的或感兴趣的数据的过程,它的实质是将数据从各种原始的业务系统中读取出来,它是大数据工作开展的前提。目前常用以下两种方式来实现数据抽取:关系库中的数据抽取和非关系数据库中的数据抽取。全量抽取:将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式。全量抽取与关系数据库中的数据复制较为相似,操作过程比较简单。增量抽取:增量抽取指抽取自上次抽取以来数据库中要抽取的表中新增、修改、删除的数据。在ETL使用过程中。增量抽取较全量抽取应用更广,因而如何捕获变化的数据是增量抽取的关键。目前对于捕获方法的要求一般有:准确性,一致性,完整性,高效性。数据抽取的流程一般包含以下几步:理解数据和数据的来源。整理、检查和清洗数据。将清洗好的数据集成,并建立抽取模型。开展数据抽取与数据转换工作。将转换后的结果进行临时存放。确认数据,并将数据最终应用于数据挖掘中。在数据仓库中,可以使用Kettle来抽取网页中的数据或是数据库中存储的数据。Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle的特点有:开源免费、可维护性好、便与调试、开发简单。在本地计算机中新建一个文本文件,并输入以下内容:id;name;card;sex;age1;张三;0001;M;23;2;李四;0002;M;24;34;王五;0003;M;22;56;赵六;0004;M;21;将该文本文件保存为test.txt。文本文件在Windows中一般是指记事本文件,在本节中主要讲述使用Kettle来将文本文件中的数据抽取到Excel文档中。在大数据分析前,为了统一比较的标准,保证结果的可靠性,需要对原始指标数据进行标准化处理。在大数据分析前,为了统一比较的标准,保证结果的可靠性,需要对原始指标数据进行标准化处理。网页数据抽取是指通过使用相关软件或是书写一定的代码来获取存储在Web中的数据。由于目前在互联网中的数据大多以HTML网页的方式存储和传播,因此在实际工作中一般抽取的网页数据主要是指半结构化数据和非结构化数据,如xml格式的数据、json格式的数据或是csv格式的数据等。本例将网页中的XML数据抽取出来,并在Kettle中显示。网页地址:/V3/Northwind/Northwind.svc/Products/,网页部分内容如图4-32所示。本章小结1)大数据的应用离不开数据采集。数据采集又称数据获取,是指利用某些装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,比如摄像头、麦克风以及各类传感器等都是数据采集工具。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论