读书笔记之大数据采集与预处理

1、数据采集过程涉及数据抽取、数据的清洗转换、数据的加载三个过程(即ETL:Extract、Transform、Load),数据采集的ETL工具负责将分布的、异构数据源中的不同种类和结构的数据抽取到临时中间层后进行清洗、转换、分类、集成,最后加载到对应的数据存储系统如数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

2、企业数据总线有效地创建了一层数据访问抽象层,使业务功能避开企业数据访问的细节,业务组件只需包含服务功能组件(用于实现现有服务功能)和数据访问组件(通过使用企业数据总线的方式),使用这种方式为企业的管理数据模型和应用系统数据模型间提供了一个统一的转换接口,并有效减少了各应用服务间的耦合度。

3、数据采集的来源
①管理信息系统:指企业、机关内部的信息系统,如事务处理系统、办公自动化系统,主要用于经营和管理,为特定用户的工作和业务提供支持。系统的组织结构上是专用的,数据通常是结构化的;
②Web信息系统:包括互联网上的各种信息系统,如社交网站、社会媒体、搜索引擎等,主要用于构造虚拟的信息空间,为广大用户提供信息服务和社交服务。系统的组织结构是开放式的,大部分数据是半结构化或无结构的,生产者主要是在线用户;
③物理信息系统:关于各种物理对象和物理过程的信息系统,如实时监控和监测,主要用于生产调度、过程控制、现场指挥、环境保护等。系统的组织结构是封闭的,数据由各种嵌入式传感设备产生;
④科学实验系统:实验环境是预先设定的,主要用于研究和学术,数据时可选择的、可控的,也可能是人工模拟生成的仿真数据。

3、多模态:在物理信息系统中,对于一个具体的物理对象,采用不同观测手段对其不同属性进行测量,观测结果为具有不同形式的数据,这些数据代表实体不同的模态。对于一个实体的多模态原始数据,需要进行融合处理。

4、数据的异构性:对于不同的数据集,可能存在不同的结构和模式,如文件、XML树、关系表等,对多个异构的数据集需要做集成处理或整合处理。

5、网页数据采集:获取互联网中相关网页内容的过程,并从中抽取用户所需要的属性内容;
网页数据处理:对抽取出来的网页数据进行内容和格式上的处理,进行转换加工,使之能够适应用户需求,并存储下来以供后用。

6、网络爬虫是一个自动提取网页的程序,为搜索引擎从万维网上下载网页,是搜索引擎的重要组成部分。
传统爬虫从一个或若干个初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
聚焦爬虫的工作流程比较复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并放入待抓取的URL队列,再根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程直到达到系统的某一条件时终止。

7、数据采集的过程
①将需要抓取数据的网站的URL信息(Site URL)写入URL队列;
②爬虫从队列中获取所需要抓取数据的网站的Site URL;
③获取某个具体网站的网页内容;
④从网页内容中抽取出该网站正文页内容的链接地址;
⑤从数据库中读取已经抓取过内容的网页地址(Spider URL);
⑥过滤URL,将当前的URL和已经抓取过的URL进行比较,如果没有被抓取过,则将该地址写入数据库;如果该地址已经被抓取过,则放弃对这个地址的抓取操作;
⑦获取该地址的网页内容,并抽取出所需属性的内容值;
⑧将抽取的网页内容写入数据库。

8、网页内容提取、数据采集与数据处理逻辑
用户手工配置爬虫规则和网页解析规则(保存规则)——>规则信息数据库(发布采集任务)——>XML格式的规则描述(读取采集任务)——>网页爬虫模块(把从指定网站下载的网页交给解析模块)——>网页解析模块(把解析后的数据块交给修正插件)——>数据修正插件(把优良的数据块交给输出插件)——>数据输出插件(把数据保存到本地)——>数据存储介质——>数据应用(可以根据用户需求定制开发)

9、Web数据自动采集相关概念

  • Web数据自动采集和挖掘:从大量非结构化、异构的Web信息资源中发现有效的、新颖的、潜在可用的、最终可以理解的知识的非平凡过程;
  • Web数据自动采集与搜索引擎:搜索引擎主要由网络爬虫(Web Scraper)、索引数据库和查询服务三部分组成,Web数据自动采集主要针对某个具体行业,提供面向领域,个性化的信息挖掘服务;
  • Web数据自动采集与信息提取:信息提取是面向不断增长和变化的、某个具体领域的文献特定的查询,这种查询是长期的、持续的,与传统搜索引擎基于关键字查询不同,信息提取基于查询,不仅包含关键字,还要匹配各个实体之间的关系;
  • Web数据自动采集与Web信息检索:从大量的Web文献集合C中,找到与给定查询q相关的,数目相当的文献子集S。而Web数据自动采集不是直接将Web文献集合的子集输出给用户,还要进一步分析处理、查重去噪、整合数据等,尽量将半结构化甚至非结构化的数据变为结构化数据。

10、链接过滤:数据采集的关键技术,实质是判断一个连接(当前链接)是不是在一个链接集合(已抓取过的链接)里,在针对网页大数据的采集中可以采用布隆过滤器来实现。

11、布隆过滤器(Bloom Filter)的基本思想:当一个元素被加入集合时,通过K个散列函数将该元素映射成一个位数组中的K个点并置一。进行检索时只需看这些点是否是1就知道集合中是否有它:如果这些点有任何一个0则被检元素一定不在;如果都是1则被检元素很有可能在。

优势
①复杂度方面:布隆过滤器存储空间和插入/查询时间都是常数(复杂度为O(k));
②关系方面:散列函数之间无任何关联关系,方便硬件并行实现;
③存储方面:布隆过滤器不需要存储元素本身,在某些对保密要求非常严格的场合有优势。

12、大数据处理:将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。而数据抽取、清洗与转换是最重要的一个环节。

13、数据清洗的任务是过滤掉不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉或者由业务单位修正之后再进行抽取。不符合要求的数据主要有不完整的数据、错误的数据和重复的数据三类。

  • 不完整的数据:特征是一些应该有的信息缺失,如供应商的名称、分公司的名称、客户的区域信息缺失等。需要将这类数据过滤出来,按缺失的内容分别写入不同的Excel文件向客户提交,要求在规定时间内补全再写入数据仓库
  • 错误的数据:产生原因是业务系统不够健全,由于在接收输入后没有进行判断就直接写入后台数据库造成,比如日期格式错误、日期越界、字符串数据后有回车等。
  • 重复的数据:在维度表中较常见,将重复的数据记录所有字段导出,让客户确认并整理。

14、数据转换的任务主要是进行不一致的数据转换(将不同业务系统的相同类型的数据统一)、数据粒度的转换(一般会将业务系统数据按照数据仓库粒度进行聚合)和一些商务规则的计算(在ETL中将不同的数据指标计算好并存储在数据仓库中)。

15、脏数据:因为数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取出来而且包含历史数据,这样就造成一些数据是错误数据或者相互之间有冲突。

16、ETL(Extraction-Transformation-Loading)即数据提取、转换和加载,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市,成为联机分析处理、数据挖掘的基础,这个过程可以批量完成数据抽取、清洗、转换、装载等任务。在这里插入图片描述
17、数据抽取的方式
全量抽取:ETL在集成端进行数据初始化时,首先由业务人员或相关操作人员定义抽取策略,选定抽取字段和定义规则后,由设计人员进行程序设计;将数据进行处理后直接读取整个工作表中的数据作为抽取的内容,主要适用于处理一些对用户非常重要的数据表。
增量抽取:主要发生在全量抽取之后,对上次抽取过的数据源表中的新增或被修改的数据进行抽取。增量抽取可以减少对抽取过程中的数据量,提高抽取速度和效率,减少网络流量,使得对异构数据源和数据库中数据的变化有个准确的把握。

18、数据转换是真正将源数据库中的数据转换为目标数据的关键步骤,通过对数据的合并、汇总、过滤以及重新格式化和再计算等,从而将操作型数据库中的异构数据转换成用户需要的形式。这一过程可以在ETL引擎中进行,也可以在数据抽取过程中利用数据库特性同时进行。

  • ETL引擎中的数据转换和加工:一般以组件化方式实现数据转换,常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等,这些组件是可插拔的,可以任意组装,组件之间通过数据总线共享数据;
  • 在数据库中进行数据加工:关系数据库本身已经提供了强大的SQL、函数支持数据加工,直接在SQL语句中进行转换和加工更加简单清晰,性能更高。

19、数据装载到目的库中通常是ETL过程的最后步骤,最佳方法取决于所执行操作的类型以及需要装入多少数据,一般有两种装载方式:SQL装载(SQL语句的insert、update、delete操作)和采用批量装载方法(bcp、bulk、关系数据库特有的批量装载工具或API)。

20、数据预处理的方法
①数据清洗——去掉噪声和无关数据;
②数据集成——将多个数据源中的数据结合起来存放在一个一致的数据存储中;
③数据变换——把原始数据转换成为适合数据挖掘的形式;
④数据规约——主要方法包括数据立方体聚集、维度规约、数据压缩、数值规约、离散化和概念分层等。

21、数据处理主要包括四个模块:分词(Words Analyze)、排重(Content Deduplicate)、整合(Integrate)、数据(Data)。

  • 分词:对抓取到的网页内容进行切词处理;
  • 排重:对众多的网页内容进行排重;
  • 整合:对不同来源的数据内容进行格式上的整合;
  • 数据:包含两方面的数据,Spider Data(爬虫从网页中抽取出来的数据)和Dp Data(整个数据处理过程中产生的数据)。

22、数据处理的基本流程
①对抓取来的网页内容进行分词;
②将分词处理结果写入数据库;
③对抓取来的网页内容进行重排;
④将排重处理后的数据写入数据库;
⑤根据之前的处理结果,对数据库进行整合;
⑥将整合后的结果写入数据库。

23、数据处理的关键技术之排重:排除掉与主题相重复项的过程,网页排重就是通过对比两个网页之间的相似度来排除重复项。Simhash算法是一种高效的海量文本排重算法,通过避免对文本两两进行相似度比较从而提升效率,可以容纳更大的数据量,提供更快的数据处理速度,实现大数据的快速处理。

24、Simhash算法的基本思想:输入一个N维向量V,比如文本的特征向量,每个特征具有一定权重,输出是一个C位的二进制签名S。
①初始化一个C维向量Q为0,C位的二进制签名S为0;
②对向量V中每一个特征,使用传统Hash算法计算出一个C位的散列值H。对1≤i≤C,如果H的第i位为1,则Q的第i个元素加上该特征的权重;否则Q的第i个元素减去该特征的权重;
③如果Q的第i个元素大于0,则S第i为1,否则为0;
④返回签名S。
对每篇文档根据SimHash算出签名后,再计算两个签名的海明距离(两个二进制异或后1的个数)。根据经验值,对64位的SimHash,海明距离在3以内可认为相似度较高。

25、数据处理的关键技术之整合:把抓取来的网页内容和各个公司之间建立对应关系。对于每个公司或者经过DP处理后的网页内容可以用一组关键词来进行描述,所以整合即两组关键词(公司关键词和内容关键词)之间的匹配。

26、数据集成:将不同应用系统、不同数据形式在原应用系统不做任何改变的条件下,进行数据采集、转换和存储的数据整合过程,其目的是运用一定的技术手段将各个独立系统中的数据按照一定规则组织成为一个整体,使得其他系统或者用户能够有效地对数据进行访问。数据集成是现有企业应用集成解决方案中最普遍的一种形式。

27、数据集成面临的问题
①异构性

  • 系统异构:数据源所依赖的应用系统、数据库管理系统乃至操作系统之间的不同
  • 模式异构:数据源在存储模式上的不同,一般的存储模式包括关系模式、对象模式、对象关系模式、文档模式等,关系模式是主流存储模式

②完整性

  • 异构数据:原数据集成的目的是为应用提供统一的访问支持,为了满足各种应用处理数据的条件,集成后的数据必须保证完整性(包括数据完整性、数据集成的方法和技术)
  • 数据集成:通常采用基于中间件的模型和数据仓库等方法来构造集成的系统

28、异构数据:指涉及同一类型但在处理方法上存在各种差异的数据,在内容上不仅可以指不同数据库系统之间的数据是异构的,而且可以指不同结构的数据之间的异构,包括系统异构、数据模型异构、逻辑异构。
系统异构:硬件平台、操作系统、并发控制、访问方式和通信能力等的不同。

  • 计算机体系结构的不同,即数据可以分别存在于大型机、小型机、工作站、PC或嵌入式系统中
  • 操作系统的不同,即数据的操作系统可以是Windows、各种版本的UNIX等
  • 开发语言的不同,比如C、C++、Java等
  • 网络平台的不同,比如Ethernet、ATM、TCP/IP

数据模型异构:指DBMS本身的不同,比如数据交换系统可以采用同为关系数据库系统的Oracle、SQL Server等作为数据模型,也可采用不同类型的数据库系统——关系、层次、网络、面向对象或者函数型数据库。
逻辑异构:包括命名异构、值异构、语义异构和模式异构等。

29、解决异构数据交换的策略
①使用软件工具进行转换:一般情况下,数据库管理系统都提供将外部文件中的数据转移到本身数据库表中的数据装入工具。这些数据转移工具可以以灵活的方式进行数据转换,而且由于它们是数据库本身所附带的工具,执行速度快并且不需要ODBC支持,在机器没有安装ODBC的情况下也可以方便使用。
缺点是它们不是独立软件产品,必须首先运行该数据产品的前端程序才能运行相应的数据转换工具,通常需要几步才能完成并且多用手工方式进行转换。
②利用中间数据库的转换:在实现两个具体数据库之间的转换时,依据关系定义、字段定义,从源数据库中读取数据通过中间数据库写入目的数据库。
设置传送变量的转换:借助数据库应用开发程序工具与数据库连接的强大功能,通过设置源数据库与目的数据库两个不同的传送变量,同时连接两个数据库,实现异构数据库之间的直接转换,转换速度和质量大大提高。
④通过开发数据库组件的转换:利用Java等数据库应用程序开发技术,通过源数据库与目的数据库组件来存取数据信息,实现异构数据库直接的直接转换。必须保证源数据库和目的数据库对应的数据类型相同双方才能进行赋值。

30、结构冲突:指需要交换的源数据和目标数据之间在数据项构成的结构上的差异,分为相似结构冲突和异构结构冲突。
语义冲突:分为表的语义冲突(具有相同标识符的表语义不同)和属性语义冲突(属性的数据类型、单位、格式等的冲突),属性语义冲突又包括数据类型冲突、命名冲突、单位冲突、数据长度冲突、数据精度冲突、数据格式冲突和其他情况。

31、异构数据交换:实现分布式网络环境下,不同位置、平台和格式的数据以一种统一的交换标准集中展现给用户,并可进行数据资源的抽取和利用。异构数据库系统是相关多个数据库系统的集合,目标在于实现不同数据库之间的资源的合并与共享,消除异构数据之间的冲突,为应用系统提供安全的、统一的、快捷的信息查询、数据挖掘和决策支持服务。

32、异构数据交换方式
异构数据的发布:将异构数据库中的数据根据根据用户设定的条件及提取出来的目标信息,按照数据请求者要求的、可以接受的格式发送出去;
异构数据的集成:根据用户设定的条件及提取出来的目标信息将异构数据源集成起来并且提供给用户一个统一的视图(物理的、逻辑的),屏蔽了数据源的异构性。异构数据集成体系主要有三种:联邦数据库、Mediator/Wrapper模式、数据仓库;
交易自动化:各种应用只要遵循共同的标准,就可以使得应用程序开发商开发出具有一定自动处理能力的代理程序,从而提高工作效率。

33、异构数据交换技术
基于XML的异构数据交换技术:XML(可扩展标记语言)具有自描述性、简单易于处理、提供了一种灵活的数据描述方式,支持数据模式、数据内容、数据显示三者分离的特点,以上特点使得XML可以为结构化数据、半结构化数据、关系数据库、对象数据库等多种数据源的数据内容加入标记,适于作为一种统一的数据描述工具,扮演异构应用间数据交换载体或者多源异构数据集成全局模式的角色;
本体技术:本体是某一领域中的概念及其关系的显式描述,是语义网络的关键技术,本体技术能够明确表示数据的语义以及支持基于描述逻辑的自动推理;
Web Service技术:是在Internet上使用标准的XML语言和信息格式的全新技术架构,向外部暴露出一个能够通过Web进行调用的API,内容主要包括WSDL(Web Service描述语言,用于服务描述)、UDDI(统一描述、发现和集成规范,用户服务的发布和集成)、SOAP(简单对象访问协议,用于消息传输),具有跨平台、完好封装、松散耦合等特性。

34、基于XML的异构数据交换的总体过程:首先必须将数据模型以统一的XML格式来描述,需要使用XML的DTD或XML Schema定义文档的结构,DTD定义XML文档的基本结构,但不涉及任何有关的实际数据,通过定义适当的DTD将源数据库中的数据转换成XML文档,然后使用DOM技术解析XML文档,这样就可以将XML文档中的数据存入目的数据库,从而实现异构数据的交换。

35、XML文档结构和数据库模式结构相互映射的方法

  • 模板驱动映射:是一种浅层次的映射,一种基于模板的DTD到关系模式的转换算法,不用预定义XML数据和数据库数据之间的映射关系,只是在XML文档中嵌入带参数的SQL命令,命令由数据转换中间件处理,在转换过程中被识别和执行,最后将执行结果替换到命令所在位置从而生成XML文档。系统为用户提供模板生成工具以及相应的指令执行程序。
    优点——转换步骤简单,查询语言灵活性大,支持通过HTTP的传递参数,允许嵌套查询,支持SELECT语句的参数化,支持编程结构。
    缺点——以XML内嵌的数据转换为XML文档,舍弃了关系模式的约束条件,所以不支持反向的转换。
    在这里插入图片描述
  • 模型驱动映射:是一种深层次的映射,原理是利用XML文档中的数据模型的结构显性或隐性地映射成其他数据模型的结构。数据转换的关键是在数据库模式和DTD之间建立映射关系,用具体的模型实现数据间的映射。如果是把对象数据库的数据转换为XML文档,首先将XML文档映射成同样具有层次结构的对象树(DOM),然后将对象树映射到面向对象的数据库中或者通过“对象-关系技术”将其映射到关系数据库中。
    优点——有数据模型的支持,相对比较简单,可以实现XML数据与数据库数据间的双向映射。
    缺点——XML文档结构受数据模型的限制,不够灵活,不适用于嵌套层次较深的XML文档或具有多个对象集合的映射,映射时表的结构与对象结构必须一致。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值