数据基础及分析 1_第1页
数据基础及分析 1_第2页
数据基础及分析 1_第3页
数据基础及分析 1_第4页
数据基础及分析 1_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python爬虫、数据清洗和数据可视化大数据分析大数据与人工智能技术丛书了解数据抽取的概念掌握用kettle实现文本抽取的方法了解数据采集的概念了解数据采集的平台本章学习目标第八章数据抽取与采集掌握用kettle实现网页数据抽取的方法8.1数据抽取概述数据抽取是指从数据源中抽取对企业有用的或感兴趣的数据的过程,它的实质是将数据从各种原始的业务系统中读取出来,它是大数据工作开展的前提。目前常用以下两种方式来实现数据抽取:关系库中的数据抽取和非关系数据库中的数据抽取。数据抽取简介获取用户配置的抽取规则将所述抽取规则转换成SQL查询语句根据所述SQL查询语句,从全文搜索引擎中抽取目标数据关系库中的数据抽取将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式。全量抽取与关系数据库中的数据复制较为相似,操作过程比较简单。增量抽取指抽取自上次抽取以来数据库中要抽取的表中新增、修改、删除的数据。在ETL使用过程中。增量抽取较全量抽取应用更广,因而如何捕获变化的数据是增量抽取的关键。目前对于捕获方法的要求一般有:准确性,一致性,完整性,高效性。全量抽取:增量抽取:数据抽取中的数据源对象除了关系数据库外,还极有可能是非关系数据库(NoSQL)或是文件,例如txt文件、excel文件、xml文件、HTML文件等。关系库中的数据抽取非关系库中的数据抽取关系库中的数据抽取非关系库中的数据抽取数据抽取中的关键技术在源表上增加一个时间戳字段,当系统中更新修改表数据的时候,同时修改时间戳字段。当进行数据抽取的时候,通过时间戳来抽取增量数据。在数据捕获中大部分都是采用时间戳方式进行增量抽取,如银行业务,VT新开户等。时间戳每次先清空数据源中目标表数据,然后全量加载数据,操作过程比较简单但是速度较慢。该种抽取方式一般用于小型数据源的数据抽取。全量删除插入在抽取表上建立需要的触发器,一般需要建立插入、修改、删除三个触发器,每当表中的数据发生变化时,就被相应的触发器将变化写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式数据抽取的流程数据抽取的流程一般包含以下几步:理解数据和数据的来源。整理、检查和清洗数据。将清洗好的数据集成,并建立抽取模型。开展数据抽取与数据转换工作。将转换后的结果进行临时存放。确认数据,并将数据最终应用于数据挖掘中。数据源文件其它临时数据抽取转换加载目标数据库数据抽取的流程数据抽取的流程数据抽取的流程在数据抽取前必须要做大量的工作,如搞清楚数据的来源,各个业务系统的数据库服务器运行什么DBMS,是否存在手工数据,手工数据量有多大,是否存在非结构化的数据等等,当收集完这些信息之后才可以进行数据抽取的设计。此外,在实际开发流程中,常常根据需要把数据抽取、数据转换和数据加载看作是一个整体进行。数据抽取的实现数据抽取的流程Web数据抽取一般来讲,目前Web数据抽取的实现有以下几步:第一步,确立采集目标,即由用户选择目标网站。第二步:提取特征信息,即根据目标网站的网页格式,提取出采集目标数据的通性。第三步:网络信息获取,即利用工具自动的把页面数据把存到数据库。值得注意的是:由于Web上的信息大多是html文档的形式出现,且html文档主要是用于浏览,而不是用于数据操作和应用的。因此Web信息抽取在传统的信息提取研究的基础上,将重点放在如何将分布在Internet上半结构化的html页面中的某些特定信息抽取出来,转化为结构化的形式保存在数据库中供用户查询、分析使用。Web数据抽取实现步骤Web数据抽取注意事项通过Web数据集成可以实现对Web数据的有效整合,为大数据分析提供信息源支持。Web数据抽取在Kettle中要实现Web数据抽取可以在“查询”选项中利用“HTTPclient”、“HTTPpost”、“RESTclient”以及“Web服务查询”等多个组件来完成。见右图。HTTPclient是ApacheJakartaCommon下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包。Kettle中实现Web数据抽取HTTPclient介绍Web服务查询也叫WebService服务,它是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,同时也是一种跨编程语言和跨操作系统平台的远程调用技术。WebService以HTTP协议为基础,通过XML进行客户端和服务器端的通信。WebService常见的开发实例有:利用WebService实现数据添加。利用WebService实现数据删除。利用WebService实现给手机发短信。WebServiceWebService简介WebService开发实例ServiceClientXml描述服务器提供哪些功能通过HTTP协议,通信(SOAP)Kettle数据抽取的实现在具体的数据抽取工具中,可以使用Kettle来抽取数据库中的数据。XXSTART成功发送邮件转换3转换2转换X数据抽取的应用目前数据抽取被广泛的应用于大型零售业与科研领域。如在电子商务网站中,通过抽取数据库中的海量数据来了解用户的购物习惯,分析出用户最感兴趣的商品,从而制定出较好的营销策略。科研机构将数以百计的实验数据录入相应的数据库系统并提取,分析研发有利于大众的创新产品。机构系统各阶段学籍系统教师系统……业务库学籍书籍教师数据机构数据学生主数据教师主数据学校主数据其它数据原始数据基础数据问题数据问题数据元数据归档数据基础库基础库学籍系统教师系统其它业务系统……共享抽取集成清洗教育基础信息数据库8.2文本抽取与实现文本文件在Windows中一般是指记事本文件,在本节中主要讲述使用Kettle来将文本文件中的数据抽取到Excel文档中。见图[例8-1]。CSV文件是一种常见的文本文件,一般含有表头和行项目。大多数数据处理型软件都含有对CSV格式的支持。在本节中主要讲述使用Kettle来将CSV文件中的数据抽取到Excel文档中。见图[例8-1]。文本文件抽取CSV文件抽取【例8-2】【例8-1】文本抽取与实现使用Kettle还可以抽取在网络传输中常用的json文件,方法和前面介绍的文件抽取是一样的,在抽取时只需将文件类型更改即可,只是需要自行设置json文件的输入字段。准备一个名为test.js的json文件,并写入如下内容。{"data":[{"name":"Java高级编程","description":"讲述Java程序开发的高级知识"}]}在Kettle中新建“转换”,在输入中选择“自定义常量数据”,在Input中选择JSONinput,并建立节点连接,如图8-27所示。双击“自定义常量数据”图标,设置元数据为json,并设置类型为String,如图8-28所示。JSON文件抽取JSON文件抽取【图8-27】【图8-28】文本抽取与实现JSON文件抽取选择“数据”选项,手动设置json数据内容,如图8-29所示。双击JSONinput图标,在文件选项中设置如图8-30所示,在字段选项中设置如图8-31所示。【图8-29】【图8-30】【图8-31】网页数据抽取与实现网页数据抽取是指通过使用相关软件或是书写一定的代码来获取存储在Web中的数据。由于目前在互联网中的数据大多以HTML网页的方式存储和传播,因此在实际工作中一般抽取的网页数据主要是指半结构化数据和非结构化数据,如xml格式的数据、json格式的数据或是csv格式的数据等。图显示了八爪鱼网站的下载界面网页数据抽取介绍网页数据抽取工具介绍八爪鱼采集器火车采集器Import.ioWebScraperExcel抽取网页数据在Windows中使用Excel工具可轻松的从网站中抽取数据。Kettle抽取网页数据12Kettle抽取网页数据34Kettle抽取网页数据56Kettle抽取网页数据78

8.4数据采集与实现数据采集又称数据获取,是指利用某些装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,比如摄像头、麦克风以及各类传感器等都是数据采集工具。在数据采集过程中,人们可以使用网卡、条形码、触摸屏、PDA、RFID等各种设备进行数据的采集。数据采集简介数据采集设备网页数据采集工具鸟巢采集器简数GrowingIO后羿采集器1234数据采集与实现数据采集平台Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Kafka:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。1234数据采集与实现数据采集平台Fluentd:Fluentd是一个开源的数据收集器,专为处理数据流设计,有点像

syslogd

,但是使用JSON作为数据格式。它采用了插件式的架构,具有高可扩展性高可用性,同时还实现了高可靠的信息转发。SplunkForwarder:Splunk是一个分布式的机器数据平台,它提供完整的数据采金,数据存储,数据分析和处理,以及数据展现的能力。本章小结数据采集又称数据获取,是指利用某些装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域。

数据抽取是指从数据源中抽取对企业有用的或感兴趣的数据的过程,它的实质是将数据从各种原始的业务系统中读取出来,它是大数据工作开展的前提。目前常用以下两种方式来实现数据抽取:关系库中的数据抽取和非关系数据库中的数据抽取。目前数据抽取被广泛的应用于大型零售业与科研领域。使用kettle工具可视实现文本数据的抽取和网页数据的抽取。01数据抽取简介02数据抽取的应用03使用Kettle工具04数据采集8.6实训1、在XML文档中输入内容,并保存为2-4.xml。2、成功运行Kettle后在菜单栏中单机“文件”菜单项,选择“转换”选项,在打开的界面中选择Input—GetdatafromXML选项,并将其拖动到右侧工作区域中,如图8-54所示。XML数据抽取XML数据抽取图8-54选择Input选项双击GetdatafromXML图标,在“文件”选项卡中将刚创建的XML文件添加到GetdatafromXML对象中,如图8-55所示。在“内容”选项卡中,单击“循环读取路径”文本框右侧的“获取XML文档的所有路径”按钮,在弹出的“可用路径”对话框中选择“/books/book”选项,如图8-56所示。单击“确定”按钮,返回“内容”选项卡,在“编码”下拉列表框中选择“UTF-8”选项。实训XML数据抽取图8-55添加XML文件图8-56获取XML文档路径实训XML数据抽取单击“预览”按钮即可查看抽取结果,如图8-58所示。图8-58查看抽取的XML字段选择“字段”选项卡,单击“获取字段”按钮,如图8-57所示。图8-57选择“字段”选项卡实训使用SAX抽取XML文件还以2-4.xml文档为例。成功运行Kettle后在菜单栏中单机“文件”菜单项,选择“转换”选项,在打开的界面中选择Input选项,将XMLStream(StAX)选项拖动到右侧的工作区域,如图8-59所示。双击XMLStream(StAX)图标,在弹出的对话框中选择需要解析的XML文档(2-4.xml),并在下方自行设置需要被抽取的字段,如图8-61所示。单击“预览”按钮,即可查看抽取的结果,如图8-61所示。使用SAX抽取XML文件对以上两个例子可以看出,相对于XML的节点解析输出,StAX解析方式更有效。图8-59选择XMLStream(StAX)选项图8-60设置文件及抽取的字段实训使用Kettle抽取CSV数据并输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论