一种hadoop集群运行ETL流程的方法及装置
成果类型:: 发明专利
发布时间: 2023-09-06 16:16:13
本发明提供了一种hadoop集群运行ETL流程的方法,包括:根据ETL流程中的reduce节点,将ETL流程分解为一个或多个MRWork;其中,每个MRWork的组件在一个map reduce中运行;对于每个MRWork,MR Job通过自定义DelegateInputFormat,分别将MRWork的每个数据源都拆分为多个分片数据源;MR Job通过自定义DelegateMapper重写Mapper的run方法,来并发运行MRWork中的mapper graph;其中,MRWork中的mapper数由MRWork的数据源总分片数决定;MR Job通过自定义DelegateReducer重写Reducer的run方法,来并发运行MRWork中的reducer graph;其中,MRWork中的reducer数根据reduce节点和/或hadoop集群可申请container数进行设置。
本发明涉及数据处理技术领域,具体涉及一种hadoop集群运行ETL流程的方法及装置,其中方法包括:根据ETL流程中的reduce节点将流程分解为一个或多个MRWork;将MRWork的数据源进行分片;MR Job自定义DelegateMapper来运行MRWork中的mappergraph,mapper数由MRWork的数据源总分片数决定;MR Job自定义DelegateReducer来运行MRWork中的reducer graph。本发明实现了基于hadoop的分布式ETL框架,数据源拆分为多个分片数据源,从而把流程分解为可并发运行的多个子流程,可极大提高流程并发处理能力。
ETL是数据处理、构建数据仓库的一个重要工具软件,完成异构数据源的抽取、清洗转换和加载的一个过程。传统的ETL一般是把流程发布到一个集中的ETL服务器节点上运行,所有的流程或流程内组件的运行均采用多线程机制,再多的流程也只能在一个单一节点运行,并且一个大数据的处理流程,也无法提高数据处理的性能。
Hadoop大数据平台在大数据处理中已经取得相当广泛的应用。MapReduce是面向大数据并行处理的计算模型、框架和平台,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理。
ETL配置的流程一般为DAG有向无环图,但hadoop提供的两个简单的map reduce函数只能完成简单DAG图的运行,无法完成稍微复杂一点DAG图的运行。而且,Hadoop虽然也提供了ChainMapper和ChainReducer的链式map reduce,但在数据源的分区、分区数据源读取、ETL流程运行完整性、使用的方便灵活性和通用性等方面都存在一定的缺陷。
鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。
华中科技大学(Huazhong University of Science and Technology),简称华中大、华科大 ,位于湖北省武汉市,是中华人民共和国教育部直属的综合性研究型全国重点大学、位列国家“双一流”“985工程”“211工程”、入选“强基计划”“111计划”、卓越工程师教育培养计划、卓越医生教育培养计划、国家大学生创新性实验计划、国家级大学生创新创业训练计划、国家建设高水平大学公派研究生项目、国家级新工科研究与实践项目、基础学科拔尖学生培养计划2.0,是学位授权自主审核单位、全国深化创新创业教育改革示范高校、一流网络安全学院建设示范项目高校、中国政府奖学金来华留学生接收院校、教育部来华留学示范基地,为中欧工程教育平台成员和医学“双一流”建设联盟 、国际应用科技开发协作网 、全球能源互联网大学联盟成员。
本发明实现了基于hadoop的分布式ETL框架,这种分布式ETL将流程分解为一个或多个MRWork提交到hadoop集群环境中执行,并且把数据源拆分为多个分片数据源,从而把流程分解为多个子流程,这些子流程可并发运行于hadoop集群环境,可以极大提高流程并发处理能力;另外,reducer数可根据reduce节点和/或hadoop集群可申请container数设置,通过设置合适的reduce任务数,可极大提高流程并发处理能力。
本专利成果采用技术转让,技术入股,技术合作等成果转化方式,希望进一步实现该专利的有益效果,有兴趣皆可面议。