基于kettle的国产主流数据库数据清洗交换插件设计与实现文献综述

 2022-10-24 21:41:34
  1. 文献综述(或调研报告):
  2. 有关ETL

Kettle是一款ETL工具,要了解Kettle首先要知道什么是ETL,从字面意思上看ETL分别是是抽取(Extract)、转换(Transform)、加载(Load)的意思,那么ETL要将数据从哪里抽取出,又要加载到哪里呢,《Pentaho Kettle solutions : building open source ETL solutions with Pentaho Data Integration》第一章中作者做了OLTP(Online Transaction Processing ,在线处理系统)和数据仓库的对比,两者最大的区别是OLTP系统中很多并发的用户请求往往只处理一条或一组数据,响应时间应小于一秒,而数据仓库系统必须有处理几百万条数据的能力,来响应用户的一个简单请求,响应时间在十秒钟以内。

ETL的一个简单定义是将数据从OLTP系统中转移到数据仓库中的一系列操作的集合。但实际情况是,数据不仅来源于OLTP系统,还源于网站、平面文件、电子邮件系统等。

ETL的用途非常广泛,如加载数据集市、生成电子表格、数据挖掘等,但总体来说ETL就是有抽取、转换、加载三个部分组成

  1. 对kettle的初步了解

《Pentaho Kettle solutions : building open source ETL solutions with Pentaho Data Integration》书中的第二章介绍了kettle的基本概念,其中转换和作业是kettle中最重要的两个概念。

转换(transformation)处理抽取、转换、加载各阶段各种对数据行的操作。转换包括一个或多个步骤(step),例如读取数据、过滤输出行、数据清洗、写入数据等。步骤之间通过跳(hop)来连接,数据通过跳从一个步骤流向下一个步骤。在一个转换中,每一个步骤都由一个独立的线程运行,虽然逻辑上有前后之分,但实际上是并行的,这种机制正是依赖于步骤之间的跳,跳实际上是两个步骤之间的数据行缓存集,行集有空间就向上一个步骤读取数据,行集里有数据就向下一个步骤写入数据。

作业(job)包括一个或多个作业项,与转换不同的是这些作业项是按照某种顺序执行的。

该书第二十三章介绍了扩展kettle的方法,kettle的架构可以允许开发者不修改kettle本身代码,通过一些独立的代码(插件)就可以扩展kettle的功能。插件类型主要有转换步骤插件,作业项插件,分区方法插件,数据库类型插件,资源库类型插件。

本课题需要开发的插件需要支持odps,ots,gbase8a的数据清洗交换功能,需要开发的插件就是支持以上数据库的数据库类型插件和支持这些数据库数据抽取加载的转换步骤插件。

  1. 大数据计算服务(MaxCompute,即ODPS)

odps是阿里巴巴自主研发的海量数据处理平台。 主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。odps的两个区别于传统数据库的概念分别是项目空间(project)和分区表(partition)。

项目空间是ODPS 的基本组织单元,它类似于传统数据库的Database 或 Schema 的概念,是进行多用户隔离和访问控制的主要边界。一个用户可以同时拥有多个项目空间的权限。通过安全授权,可以在一个项目空间中访问另一个项目空间中的对象, 例如:表(Table) ,资源(Resource) , 函数(Function),实例(Instance)。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。