基于Hadoop的高效实时ETL框架系统的设计与实现

 2022-01-30 19:11:22

论文总字数:34593字

摘 要

随着金融行业和银行业竞争的加剧,越来越多的银行开始寻求分析大量交易数据的优质解决方案,建立可以分析大量交易数据的实时银行数据平台。同时,伴随着IT技术的不断发展,许多银行开始使用数据仓库技术来管理交易数据,发展自身的业务和拓展客户,提升银行的市场竞争力。

花旗金融信息服务公司目前采用ETL(Extract Transform Load)框架系统管理银行的交易数据,ETL主要负责不同的数据源收集交易数据,对收集到的数据进行抽取、筛选和洗濯,最后按照用户自定义的结构和格式加载到数据仓库中,已有的ETL可以做到各种数据格式的数据类型转换、抽取和清洗,但是存在数据解析速率较慢和不能解析超XML文件的问题。

本文工作在公司已有的ETL框架基础上,进行了提升效率的改进。其中包括:(1)实现了一个高效的XML(Extensible Markup Language)解析器作为ETL的transformer模块的扩展;(2)对当前的ETL集成Hadoop以进行对超大XML的解析。经测试,集成Hadoop后的框架可支持并行地对数据做传输、转换和存储,可保证系统间传输的大量不同格式数据得到快速且精准的解析,提高了工作效率。

关键词:Hadoop、XML、解析、XPath、MapReduce、HDFS

Title: Design and development of efficient ETL framework based on Hadoop

Major: Software Engineering

Name: Yu Cao

Supervisor: Li Liao

Abstract

With the increasing competition of financial market and banking industry, more and more banks begin to search for the high quality solutions of the large number of transaction data, and establish a complete, accurate and timely bank data platform. At the same time, due to the continuous development of IT technology, many banks began to use the data warehouse as an effective data management tool.

CSTC now uses ETL frame system to manage data. ETL is mainly responsible for achieving a variety of data format data type conversion, data extraction and data cleaning, but there is a slow rate of data analysis and it cannot handle with big files.

Based on the existing ETL framework, this paper improves the existing framework of data analysis (transformer) module, and integrates the framework of Hadoop. The research work of this paper is mainly divided into the following two parts: (1) to achieve an efficient XML parser as transformer ETL module expansion; (2) on the current ETL integration Hadoop. The framework of integrated Hadoop can support parallel data transmission, conversion and storage, so that efficiency can be highly improved.

Key Word: Hadoop, XML, Explore, XPath, MapReduce, HDFS

目录

摘 要 2

Abstract 3

第一章 绪论 5

1.1选题背景 5

1.2 选题意义 5

1.3 国内外发展现状 6

1.4 论文的主要工作 7

1.5 论文的章节安排 7

第二章 关键技术介绍 9

2.1 XML概述 9

2.1.1 XML文件的结构 9

2.1.2 XML的基本语法 11

2.2 Xpath相关概念介绍 11

2.3 ETL相关概念介绍 12

2.4 本章小结 12

第三章 需求分析 13

3.1 已有ETL框架分析 13

3.1.1 已有ETL框架简介 13

3.1.2 已有ETL框架解析方法介绍 13

3.1.3 已有ETL框架解析弊端 16

3.2 对已有ETL框架改造的需求 18

3.3 本章小结 21

第四章 基于Hadoop的高效实时ETL的设计与实现 22

4.1 高效XML解析器的设计 22

4.1.1 XML节点数据的存储 22

4.1.2 递归遍历XML 22

4.2 对ETL集成Hadoop的设计 25

4.2.1 运行平台 25

4.2.2 集成Hadoop的设计 26

4.3 高效XML解析器实现 28

4.4 对ETL集成Hadoop的实现 32

4.4.1 使用到的Hadoop技术介绍 32

4.4.2 集成Hadoop的实现方法 37

4.5 本章小结 41

第五章 系统测试 42

5.1 测试高效XML解析器 42

5.2 测试集成Hadoop后的解析框架 44

致谢 48

参考文献 49

第一章 绪论

1.1选题背景

随着经济的发展,银行业客户需求瞬息万变,产品的生产周期缩短,市场竞争日益激烈。如何利用好大量交易数据的资源提升银行的竞争力,在快速变化的环境中把握主导地位,是当今银行业的重要问题。

在这样的环境下,银行的IT系统面临的问题也发生了相应变化。一天的交易数据量非常庞大,如果没有强大的数据处理系统,及时分析这些交易数据,那么决策者就无法准确掌握金融投资的动向,会大大影响银行的业绩。因此,银行对数据的需求从过去单纯的批处理作业和交易处理,转向了利用大批交易数据实时分析投资行情,把握金融动向,统计分析、为高层管理者提供决策依据,以及报送金融监管机构和进行绩效考核。

在数据仓库中数据转换是一个重要的模块。银行交易系统可能在很短时间内触发多次交易,产生大量数据,并且这些数据是多样的,ETL要对每种格式的数据要进行数据类型转换、数据抽取和数据洗濯,最后加载入数据仓库中作为分析的依据。[1]

1.2 选题意义

公司当前采用的ETL框架系统可以做到对各种数据格式的数据进行抽取、转换和加载。对于XML格式的数据,已有的ETL框架采用了Java自带的XML解析方法,但是存在数据解析速率较慢的问题。一是因为Java已有的XML解析算法内存占用太高,二是我们的ETL框架只是在单台机器上运行的,对于实际情况中海量的数据(往往达到GB,TB,PB数量级),是完全不能胜任的。

剩余内容已隐藏,请支付后下载全文,论文总字数:34593字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;