《数据采集与处理:基于python》 课件 付东普 第10、11章 大数据存储与访问技术、数据集成与ETL技术_第1页
《数据采集与处理:基于python》 课件 付东普 第10、11章 大数据存储与访问技术、数据集成与ETL技术_第2页
《数据采集与处理:基于python》 课件 付东普 第10、11章 大数据存储与访问技术、数据集成与ETL技术_第3页
《数据采集与处理:基于python》 课件 付东普 第10、11章 大数据存储与访问技术、数据集成与ETL技术_第4页
《数据采集与处理:基于python》 课件 付东普 第10、11章 大数据存储与访问技术、数据集成与ETL技术_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第十章

大数据存储与访问技术《数据采集与处理:基于Python》2024/5/1112024/5/112教学目标本章学习目标1.了解大数据的相关概念、关键技术、计算模式和NoSQL数据库分类,理解非关系型数据库(NoSQL)的CAP定理和BASE原则;2.了解NoSQL数据库MongoDB的特点和存储模式,掌握基于Python的MongoDB的操作步骤及相关模块和方法。本章提纲1.大数据技术2.非关系型数据库简介3.MongoDB数据库连接与访问2015年国务院正式印发《促进大数据发展行动纲要》,《纲要》明确指出要不断的推动大数据发展和应用,在未来打造精准治理、多方协作的社会治理新模式,建立运行平稳、安全高效的经济运行新机制,构建以人为本、惠及全民的民生服务新体系,开启大众创业、万众创新的创新驱动新格局,培育高端智能、新兴繁荣的产业发展新生态。2015年,大数据“十三五”规划出台,《规划》通过定量和定性相结合的方式提出了2020年大数据产业发展目标。在总体目标方面,提出到2020年,技术先进、应用繁荣、保障有力的大数据产业体系基本形成,大数据相关产品和服务业务收入突破1万亿元,年均复合增长率保持30%左右。大数据技术1.1大数据概述

大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据时代的概念最早是全球知名咨询公司麦肯锡提出的,2006年麦肯锡提出了大数据概念。大数据发展历史大数据的发展主要历经了三个阶段,出现阶段、热门阶段和应用阶段。1)出现阶段(1980-2008)2)热门阶段(2009-2012)3)应用阶段(2013-至今)从技术手段视角,大数据发展的三个阶段:1)分布式存储和处理技术。Hadoop是其中最著名的开源分布式存储和处理框架,使用Hadoop分布式文件系统(HDFS)存储海量数据,并使用MapReduce处理数据。2)更多的开源分布式存储和处理框架。例如Spark和Storm。Spark是一种内存计算框架,它使用RDD(ResilientDistributedDatasets)作为基本数据结构,具有快速的计算速度和高效的内存管理能力。Storm是一个实时数据处理框架,可以实时处理流式数据。3)融合机器学习和人工智能。主要技术手段包括深度学习、自然语言处理、图像处理等等,让大数据处理更加智能化和自动化。大数据的影响大数据的影响主要有以下四点。1)大数据对科学活动的影响2)大数据对思维方式的影响3)大数据对社会发展的影响4)大数据对就业市场的影响大数据的特征随着对大数据认识的不断加深,人们认为大数据一般具有4V+1O特征:数据量大、数据类型繁多、数据产生速度快以及数据价值密度低;及基本都是在线数据。1).数据量大Volume大数据中的数据量大,就是指的海量数据。大数据之“大”还表现在其采集范围和内容的丰富多变,能存入数据库的不仅包含各种具有规律性的数据符号,还囊括了各种如图片、视频、声音等非规则的数据。2).数据类型繁多Variety大数据包括结构化数据、半结构化数据和非结构化数据。3).数据产生速度快Velocity(1)数据产生得快。(2)数据处理得快。4).数据价值密度低Value5).数据永远在线Online大数据应用社会网络思想应用:六度分离和三度影响理论1.2大数据关键技术1)大数据采集2)大数据预处理3)大数据存储4)大数据分析挖掘大数据计算模式大数据计算模式对应的系统如下所示:大数据查询与分析计算:HBase、Hive、Cassandra、Premel、Impala、Shark、Hana、Redis。批处理计算:

MapReduce、Spark。流式计算:Scribe、Flume、Storm、S4、SparkStreaming。迭代计算:HaLoop、iMapReduce、Twister、Spark。图计算:Pregel、PowerGrapg、GraphX。内存计算:Dremel、Hana、Redis。谷歌大数据计算模式大数据框架1)批处理系统2)流处理系统3)混合处理系统大数据与云计算大数据与人工智能大数据的意义

大数据的国家战略意义大数据是一个事关我国经济社会发展全局的战略性产业,大数据技术为社会经济活动提供决策依据,提高各个领域的运行效率,提升整个社会经济的集约化程度,对于我国经济发展转型具有重要的推动作用。大数据的企业意义如何应对大数据时代的到来已经成为了每一个企业需要面对的问题。我国大数据市场的预测2022-2027年中国大数据市场规模及预测(单位:亿元)预计2027年我国大数据市场规模将达到2930.9亿元,未来六年复合年增长率为22.6%。(资料来源:CCID前瞻产业研究院)大数据的产业链分析

运营分析非关系型数据库简介NoSQL数据库简介

NoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”。NoSQL是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,它无疑是一种全新思维的注入。RDBMS与NoSQL比较RDBMS是:高度组织化结构化数据,结构化查询语言(SQL,包括数据操纵和数据定义),数据和关系都存储在单独的表中,严格的一致性,基础事务NoSQL:代表着不仅仅是SQL;没有声明性查询语言;没有预定义的模式;存储模式多样(键-值对存储,列存储,文档存储,图形数据库);最终一致性,而非ACID属性;非结构化和不可预知的数据;CAP定理;高性能,高可用性和可伸缩性CAP定理

1)什么是CAP定理RDBMS与NoSQL比较CAP定理(CAPtheorem),又被称作布鲁尔定理(Brewer'stheorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:一致性(Consistency):所有节点在同一时间具有相同的数据可用性(Availability):保证每个请求不管成功或者失败都有响应分隔容忍(Partitiontolerance):系统中任意信息的丢失或失败不会影响系统的继续运作CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。根据CAP原理将NoSQL数据库分成了满足CA原则、满足CP原则和满足AP原则三大类:CA-单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。

CP-满足一致性,分区容忍性的系统,通常性能不是特别高。AP-满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。CAP定理

1)什么是BASEBASE:BasicallyAvailable,Soft-state,EventuallyConsistent。由EricBrewer定义。CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:BasicallyAvailble--基本可用Soft-state--软状态/柔性事务。"Softstate"可以理解为"无连接"的,而"Hardstate"是"面向连接"的EventualConsistency--最终一致性,也是ACID的最终目的。NoSQL数据库分类

1)列存储,如Hbase、Cassandra、Hypertable等,顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,针对某一列或者某几列的查询有非常大的IO优势。2)文档存储,如MongoDB、CouchDB,文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。3)key-value存储,如TokyoCabinet/Tyrant、BerkeleyDB、MemcacheDB、Redis等,可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)4)图存储,如Neo4J、FlockDB等,图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。5)对象存储,如db4o、Versant等,通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。6)XML数据库,如BerkeleyDBXML、BaseX等,高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。MongoDB数据库连接与访问3.1MongoDB数据库简介

1)什么是MongoDBMongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为Web应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。3.1MongoDB数据库简介

2)MongoDB主要特点面向文档存储的数据库,安装、操作比较简单和容易。可以在MongoDB记录中设置任何属性的索引(如:FirstName="Sameer",Address="8GandhiRoad")来实现更快的排序。扩展性强。可以通过本地或者网络创建数据镜像,负载可以分布到计算机网络中其他节点。支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。支持丰富的查询表达式,并使用Map/reduce函数对数据进行批量处理和聚合操作,使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。3.2.Python访问MongoDB操作

1)准备工作:确保已经安装好MongoDB并启动其服务,并且安装好了Python的PyMongo库。2)连接MongoDB连接MongoDB时,需要使用PyMongo库里面的MongoClient。一般来说,传入MongoDB的IP及端口即可,其中第一个参数为地址host,第二个参数为端口port(默认是27017):importpymongo;client=pymongo.MongoClient(host=‘localhost’,port=27017)。另外,MongoClient的第一个参数host还可以直接传入MongoDB的连接字符串,它以mongodb开头,例如:client=MongoClient('mongodb://localhost:27017/')。3)指定数据库MongoDB中可以建立多个数据库,接下来需要指定操作哪个数据库。这里以test数据库为例来说明,下一步需要在程序中指定要使用的数据库:db=client.test这里调用client的test属性即可返回test数据库。也可以这样指定:db=client['test']4)指定集合MongoDB的每个数据库又包含许多集合(collection),它们类似于关系型数据库中的表。下一步需要指定要操作的集合,这里指定一个集合名称为students。与指定数据库类似,指定集合也有两种方式:collection=db.students;或者collection=db['students']3.2.Python访问MongoDB操作

示例代码#1.导入模块importpymongo#2.连接数据库client=pymongo.MongoClient(host='localhost',port=27017)#MongoClient的第一个参数host还可以直接传入MongoDB的连接字符串,它以mongodb开头#client=MongoClient('mongodb://localhost:27017/')#3.指定数据库db=client['test-database']#4.指定集合:MongoDB的每个数据库又包含许多集合(collection),它们类似于关系型数据库中的表collection=db.posts#或者db['posts']#5.插入数据post_record={'author':"Dongpu",'text':"MyfirstblogpostforCUEB!",'tags':"Python"}result=collection.insert(post_record)#也可以同时插入多条数据,只需要以列表形式传递即可#在MongoDB中,每条数据其实都有一个_id属性来唯一标识。#如果没有显式指明该属性,MongoDB会自动产生一个ObjectId类型的_id属性。insert()方法会在执行后返回_id值print("插入数据结果objectId:",result)#插入数据后,可用find_one()或find()方法查询,其中find_one()查询得到的是单个结果,find()则返回一个生成器对象#6.查询result=collection.find_one({'author':'Dongpu'})print(type(result))print("查询结果:",result)复习与思考试比较NoSQL类数据库与关系数据库的特征异同?什么是非关系数据库的CAP定理,它与关系数据库的ACID特性有何异同?什么是非关系数据库的BASE原则?与ACID有何异同?非关系数据库都有哪些类别?MongoDB主要特点有哪些?对应Python模块有哪些?主要操作步骤有哪些?本章小结

大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据一般具有四个特征:数据量大、数据类型繁多、数据产生速度快以及数据价值密度低。大数据的关键技术包含数据采集、大数据预处理、大数据存储和大数据分析挖掘。按照对所处理的数据形式和得到结果的时效性分类,大数据处理框架可以分为三类:批处理系统、流处理系统和混合处理系统。非关系数据库与传统关系数据库的不同特点,相关CAP定理和BASE原则。MongoDB数据库的特点和存取技术,使用pymongo模块可访问MongoDB。

第十一章

数据集成与ETL技术《数据采集与处理:基于Python》2024/5/11402024/5/1141教学目标本章学习目标1.了解数据集成的基本概念、分类、常见方法和相关产品;2.了解ETL相关技术和常用的ETL工具,理解常见的ETL相关技术和基本操作方法。本章提纲1.数据集成2.ETL相关技术与工具数据集成2024/5/1142数据集成概述大型组织中往往同时运行多个应用系统并管理和存储多种数据,对于管理者和决策者而言,往往需要对整个组织中不同来源的业务数据进行整体分析,才能完整反映一个组织的业务面貌及不同部门和业务之间的联系,从而进行科学准确的业务决策。数据集成(dataintegration,DI)就是将不同来源的异构数据,通过数据清洗、转换等多种处理,合并成一致的数据视图或物理存储。数据集成的核心任务是将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源。集成是指维护数据源整体上的数据一致性,提高信息共享利用的效率;透明的方式是指用户无须关心如何实现对异构数据源数据的访问,只关心以何种方式访问何种数据。实现数据集成的系统称作数据集成系统,它为用户提供统一的数据源访问接口,执行用户对数据源的访问请求。2024/5/1143数据集成概述数据集成的数据源主要指关系型数据库系统和非关系型数据库系统,广义上也包括各类XML文档、HTML文档、电子邮件、普通文件等结构化、半结构化数据。数据集成是信息系统集成的基础和关键,但数据集成主要存在以下难点:(1)异构性。被集成的数据源通常是独立开发的,数据模型异构给集成带来了很大困难。这种异构性主要表现在数据语义、相同语义数据的表达形式、数据源的使用环境等方面。(2)分布性。数据源是异地分布的,依赖网络传输数据,这就存在网络传输的性能和安全性等问题。(3)自治性。各个数据源有很强的自治性,它们可以在不通知集成系统的前提下改变自身的结构和数据,给数据集成系统的鲁棒性带来挑战。2024/5/1144数据集成分类数据集成可以分为以下4个层次。1.基本数据集成基本数据集成面临的问题很多,通用标识符问题是数据集成时遇到的最大难题之一。当同一业务实体存在于多个系统源中,并且没有明确的办法确认这些实体是同一实体时,就会产生这类问题。处理该问题的办法如下:(1)隔离。保证实体的每次出现都指派唯一标识符。(2)调和。确认哪些实体是相同的,并将该实体的各次出现合并起来。当目标元素有多个来源时,可指定某一系统在冲突时占主导地位。数据丢失问题是最常见的问题之一,一般的解决办法是为丢失的数据产生一个非常接近实际的估计值来进行处理。2024/5/1145数据集成分类2.多级视图集成多级视图机制有助于对数据源之间的关系进行集成:底层数据表示为局部模型的局部格式,如关系和文件;中间数据表示为公共模型格式,如扩展关系模型或对象模型;高级数据表示为综合模型格式。多级视图集成的过程分为两级映射:(1)数据从局部数据库中经过数据翻译、转换,集成为符合公共模型格式的中间视图。(2)进行语义冲突消除、数据集成和数据导出处理,将中间视图集成为综合视图。2024/5/1146数据集成分类3.模式集成模式集成是人们最早采用的数据集成方法。其基本思想是,在构建集成系统时将各数据源的数据视图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据。全局模式描述了数据源共享数据的结构、语义及操作等。用户直接在全局模式的基础上提交请求,然后数据集成系统处理这些请求,转换成各个数据源在本地数据视图基础上能够执行的请求。模式集成的特点是直接为用户提供透明的数据访问方法。由于用户使用的全局模式是虚拟的数据源视图,一些学者也把模式集成称为虚拟视图集成。模式集成要解决两个基本问题:一是构建全局模式与数据源数据视图间的映射关系;二是处理用户在全局模式基础上的查询请求。模式集成需要将原来异构的数据模式做适当的转换,消除数据源间的异构性并映射成全局模式。全局模式与数据源数据视图映射的构建方法有两种:全局视图法和局部视图法。全局视图法中的全局模式是在数据源数据视图基础上建立的,它由一系列元素组成,每个元素对应一个数据源,表示相应数据源的数据结构和操作;局部视图法先构建全局模式,数据源的数据视图则是在全局模式基础上定义,然后由全局模式按一定的规则推理得到。用户在全局模式基础上查询请求时需要被映射成各个数据源能够执行的查询请求。2024/5/1147数据集成分类4.多粒度数据集成多粒度数据集成是异构数据集成中最难处理的问题,理想的多粒度数据集成模式是自动逐步抽象。数据综合(或数据抽象)是指高精度数据经过综合形成精度较低但粒度较大的数据。其作用过程为从多个较高精度的局部数据中获得较低精度的全局数据。在这个过程中,要对各局域中的数据进行综合,提取其主要特征。数据综合集成的过程实际上是特征提取和归并的过程。数据细化是指通过一定精度的数据获取精度较高的数据。实现该过程的主要途径有:时空转换、相关分析或者通过综合中数据变动的记录进行恢复。数据集成是最终实现数据共享和辅助决策的基础。2024/5/1148常见数据集成方法1.联邦数据库联邦数据库是人们早期采用的一种模式集成方法。联邦数据库系统(federateddatabasesystem,FDBS)是一个彼此协作却又相互独立的单元数据库(componentdatabasesystem,CDBS)的集合,它将单元数据库系统按不同程度进行集成,对该系统整体提供控制和协同操作的软件叫作联邦数据库管理系统(federateddatabasemanagementsystem,FDBMS)。一个单元数据库可以加入若干个联邦数据库管理系统,每个单元数据库系统可以是集中式的,也可以是分布式的,或者是另外一个FDBMS。图11-1为联邦数据库管理系统的体系结构。2024/5/1149常见数据集成方法2.中间件集成方法中间件(mediator)集成方法是目前比较流行的数据集成方法,中间件模式通过统一的全局数据模型来访问异构数据库、遗留系统、Web资源等。中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一的数据模式和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供高层次检索服务。它同样使用全局数据模式,通过在中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看作一个统一的整体。这种模型的关键问题是如何构造这个逻辑视图并使得不同数据源能映射到这个中间层。2024/5/1150常见数据集成方法与联邦数据库不同,中间件系统不仅能够集成结构化数据源中的信息,还可以集成半结构化或非结构化数据源中的信息,如Web信息。典型的基于中间件的数据集成系统的体系结构如图11-2所示,该结构主要包括中间件和封装器(wrapper,也称为适配器(adapter)),其中每个数据源对应一个封装器。中间件通过封装器和各个数据源交互。用户在全局数据模式的基础上向中间件发出查询请求。中间件处理用户请求,将其转换成各个数据源能够处理的子查询请求,并对此过程进行优化以提高查询处理的并发性,减少响应时间。封装器对特定数据源进行封装,将其数据模型转换为系统所采用的通用模型,并提供一致的访问机制。中间件将各个子查询请求发送给封装器,由封装器和其封装的数据源交互,执行子查询请求,并将结果返回给中间件。2024/5/1151常见数据集成方法集成中间件产品较多,如国产软件有东方通的数据交换平台TongDXP、谷云科技的实时数据集成平台RestCloud等,国外商业软件有Informatica的EnterpriseDataIntegration、Oracle的ODI(OracleDataIntegrator)等,开源软件有Kettle等。2024/5/1152常见数据集成方法3.数据仓库方法数据仓库方法是一种典型的数据复制方法。该方法将各个数据源的数据复制到同一处,即数据仓库。用户可以像访问普通数据库一样直接访问数据仓库,其基本原理和结构如图11-3所示。2024/5/1153常见数据集成方法数据仓库是在数据库已经大量存在的情况下,为了进一步挖掘数据资源和决策需要而产生的。目前,大部分数据仓库还是用关系型数据库管理系统来管理,将前端查询和分析作为基础,后端存储用于决策支持的当前和历史数据,操作以查询和读取为主,基本不会再对数据进行修改。从内容和设计的原则来讲,传统的操作型数据库是面向事务设计的,数据库中通常存储在线交易数据,设计时尽量避免冗余,一般采用符合范式的规则来设计;而数据仓库是面向主题设计的,存储的一般是历史数据,在设计时有意引入冗余,采用反范式的方式来设计。另外,从设计的目的来讲,数据库是为捕获数据而设计的;而数据仓库是为分析数据而设计的,它的两个基本元素是维表和事实表。维是看问题的角度,例如时间、部门,维表中存放的就是这些角度的定义;事实表里存放着要查询的数据,同时有维的ID。数据仓库相关产品较多,如国产软件有人大金仓分析型数据库KingbaseAnalyticsDB、阿里云分析型数据库AnalyticDB等,国外商业软件有Oracle数据库、微软SQLServer数据库等,开源软件有Hive等。2024/5/1154ETL相关技术与工具2024/5/1155ETL相关技术1.ETL概述在数据集成的相关应用中,经常会遇到术语ETL(或ELT)。ETL是extract-transform-load的缩写,用来描述将数据从来源端经过抽取、转换加载至目的端的过程,也是数据集成的相关处理步骤,因此ETL也是数据集成的相关技术的简称。ETL一词常用于数据仓库,但其对象并不仅限于数据仓库。ETL将业务系统的数据经过抽取、清洗转换之后加载到数据仓库,目的是将企业中分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据,其工作流程示意图如图11-4所示。ETL的流程可以用任何编程语言去开发完成。由于ETL是极为复杂的过程,而手写程序不易管理,因此越来越多的企业采用工具协助ETL的开发,并运用其内置的元数据功能来存储来源与目标的映射以及转换规则。工具可以提供较强大的连接功能来连接来源端与目的端,并提供可视化的完整流程配置工具,开发人员无须熟悉各种不同的平台及数据结构就能进行开发。2024/5/1156ETL相关技术2.数据库相关的数据抽取数据抽取是指从数据源中抽取对企业有用的或感兴趣的数据的过程,它的实质是将数据从各种原始的业务系统中读取出来,它是大数据工作开展的前提。对于关系型数据库中的数据抽取,一般有两种策略:(1)全量抽取。即将指定来源的数据一次性地全部抽取,适用于一次性的批量数据抽取,效率较高,但数据源有增量数据变化时则不能实时反映数据变化。(2)增量抽取。即只对指定来源新增数据进行抽取,可避免数据重复采集。要实现增量抽取技术,有以下几种方法:一是扫描数据源指定表中的时间戳变化;二是扫描指定来源数据库的操作日志内容;三是利用指定来源数据库的触发器机制(若有增、删、改操作,则利用触发器记录增量变化数据);四是全量读取指定来源数据内容(删除目的来源数据内容)。2024/5/1157常用ETL工具除了前述数据集成方法提到的相关技术和工具(如Kettle)之外,一些数据挖掘软件本身也提供了ETL功能或工具,如商业软件RapidMiner、Tableau以及开源软件Weka等。鉴于篇幅有限,下面仅介绍RapidMiner和Kettle这两种工具。1.RapidMinerRapidMiner诞生于2001年的多特蒙德工业大学的一个数据科学项目,目前已经发展成为一个通用的数据科学平台。RapidMiner有企业级的商业版本,也有教育试用版本,可登录官网(/)下载。RapidMiner除了提供数据挖掘、机器学习等工具支持外,还为数据准备和预处理提供了大量的组件和简单易用的工具支持,其操作工具为RapidMinerStudio,操作界面如图11-5所示。2024/5/1158常用ETL工具(1)资源库(Repository):配置的流程、数据源等都存放于此,便于管理。(2)算子(Operators):各类数据源访问组件、预处理组件、数据分析组件等统称为算子。(3)流程配置(Process):可将算子区的各类算子拖放到此处并按照处理要求进行连接,装配算子组件。(4)菜单:菜单区包括文件、编辑、流程、视图、连接、设置等操作。(5)视图切换(Views):点击可切换成不同视图,如“Design”为设计视图,“Results”为运行结果视图。(6)参数配置(Parameters):可对算子的属性进行配置,参数也在此列出和配置。2024/5/1159常用ETL工具2.KettleKettle最早是一个开源的ETL工具,全称为KDEExtraction,Transportation,TransformationandLoadingEnvironment。2006年,Pentaho公司收购了Kettle项目,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,并重命名为PentahoDataIntegration(PDI)。2015年,Pentaho公司被HitachiDataSystems收购。PDI分为商业版与开源版,人们仍习惯把PDI的开源版称为Kettle。PDI使用Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道(如图11-6所示);可对接传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。2024/5/1160ETL应用示例以RapidMiner为例,下面介绍将一个简单的CSV文件从数据抽取、简单预处理到存入MySQL数据库的示例过程。操作之前,需要自行下载安装RapidMinerStudio,步骤为:注册试用账号并邮件激活账号→登录账号和密码→进入RapidMinerStudio界面。1.创建MySQL数据库连接点开资源库(Repository)区中的“LocalRepository”,选中“Connection”并点击鼠标右键,在弹出的菜单中点击“CreateConnection”,弹出如图11-7所示的窗口。2024/5/1161ETL应用示例在“ConnectionName”栏输入一个连接名称,如LocalMySQL,点击“Create”按钮,弹出配置窗口,在配置窗口中设置数据库系统类型、用户名和密码、连接主机名或IP地址、连接端口及对应数据库。准确设置完参数后,点击“Testconnection”,测试是否能成功连接到MySQL数据库,测试成功后点击“Save”保存并退出,如图11-8所示。2024/5/1162ETL应用

温馨提示

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

评论

0/150

提交评论