【技术实现步骤摘要】
一种hadoop集群运行ETL流程的方法及装置
本专利技术涉及数据处理
,提供了一种hadoop集群运行ETL流程的方法及装置。
技术介绍
ETL是数据处理、构建数据仓库的一个重要工具软件,完成异构数据源的抽取、清洗转换和加载的一个过程。传统的ETL一般是把流程发布到一个集中的ETL服务器节点上运行,所有的流程或流程内组件的运行均采用多线程机制,再多的流程也只能在一个单一节点运行,并且一个大数据的处理流程,也无法提高数据处理的性能。Hadoop大数据平台在大数据处理中已经取得相当广泛的应用。MapReduce是面向大数据并行处理的计算模型、框架和平台,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理。ETL配置的流程一般为DAG有向无环图,但hadoop提供的两个简单的mapreduce函数只能完成简单DAG图的运行,无法完成稍微复杂一点DAG图的运行。而且,Hadoop虽然也提供了ChainMapper和ChainReducer的链式mapreduce,但在数据源的分区、分区数据源读取、ETL流程运行完整性、使用的方便灵活性和通用性等方面都存在一定的缺陷。鉴于此,克服上述现有技术所存在的缺陷是本
亟待解决的问题。
技术实现思路
本专利技术需要解决的技术问题是:传统的ETL一般是把流程发布到一个集中的ETL服务器节点上运行,再 ...
【技术保护点】
1.一种hadoop集群运行ETL流程的方法,其特征在于,包括:/n根据ETL流程中的reduce节点,将ETL流程分解为一个或多个MRWork;其中,每个MRWork的组件在一个map reduce中运行;/n对于每个MRWork,MRJob通过自定义DelegateInputFormat,分别将MRWork的每个数据源都拆分为多个分片数据源;/nMRJob通过自定义DelegateMapper重写Mapper的run方法,来并发运行MRWork中的mapper graph;其中,MRWork中的mapper数由MRWork的数据源总分片数决定;/nMRJob通过自定义DelegateReducer重写Reducer的run方法,来并发运行MRWork中的reducer graph;其中,MRWork中的reducer数根据reduce节点和/或hadoop集群可申请container数进行设置。/n
【技术特征摘要】
1.一种hadoop集群运行ETL流程的方法,其特征在于,包括:
根据ETL流程中的reduce节点,将ETL流程分解为一个或多个MRWork;其中,每个MRWork的组件在一个mapreduce中运行;
对于每个MRWork,MRJob通过自定义DelegateInputFormat,分别将MRWork的每个数据源都拆分为多个分片数据源;
MRJob通过自定义DelegateMapper重写Mapper的run方法,来并发运行MRWork中的mappergraph;其中,MRWork中的mapper数由MRWork的数据源总分片数决定;
MRJob通过自定义DelegateReducer重写Reducer的run方法,来并发运行MRWork中的reducergraph;其中,MRWork中的reducer数根据reduce节点和/或hadoop集群可申请container数进行设置。
2.根据权利要求1所述的hadoop集群运行ETL流程的方法,其特征在于,在所述MRJob通过自定义DelegateReducer来运行MRWork中的reducergraph之后,所述方法还包括:
通过重写mapreduce的OutputFormat为DummyOutputFormat来设置MRJob输出,并提交MRWork所在的MRJob。
3.根据权利要求1所述的hadoop集群运行ETL流程的方法,其特征在于,当ETL流程被分解为多个MRWork时,按照所述多个MRWork之间的依赖关系,先后处理每一个MRWork。
4.根据权利要求3所述的hadoop集群运行ETL流程的方法,其特征在于,对于任一MRWork,MRWork的运行依赖于其他MRWork的FileSink节点;则在处理该MRWork时,当该MRWork所依赖的FileSink组件运行完成后,再提交该MRWork运行。
5.根据权利要求1所述的hadoop集群运行ETL流程的方法,其特征在于,所述MRJob通过自定义DelegateInputFormat,分别将MRWork的每个数据源都拆分为多个分片数据源,具体为:
MRJob设置InputFormat为自定义的DelegateInputFormat,以便由DelegateInputFormat委托处理MRWork每个数据源的SourceInputFormat;
每个SourceInputFormat通过重写getSplits,实现对应数据源的分片以及对...
【专利技术属性】
技术研发人员:高东升,付铨,梅纲,
申请(专利权)人:武汉达梦数据库有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。