CN113485743A - 一种基于源代码管理的cdh作业配置方法与可读存储介质 - Google Patents

一种基于源代码管理的cdh作业配置方法与可读存储介质 Download PDF

Info

Publication number
CN113485743A
CN113485743A CN202110811184.XA CN202110811184A CN113485743A CN 113485743 A CN113485743 A CN 113485743A CN 202110811184 A CN202110811184 A CN 202110811184A CN 113485743 A CN113485743 A CN 113485743A
Authority
CN
China
Prior art keywords
code
configuration
management
cdh
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110811184.XA
Other languages
English (en)
Inventor
陈希贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAIC GM Wuling Automobile Co Ltd
Original Assignee
SAIC GM Wuling Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAIC GM Wuling Automobile Co Ltd filed Critical SAIC GM Wuling Automobile Co Ltd
Priority to CN202110811184.XA priority Critical patent/CN113485743A/zh
Publication of CN113485743A publication Critical patent/CN113485743A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于源代码管理的CDH作业配置方法,包括:将离散的作业配置代码提交至企业源代码管理库进行统一管理;监听代码仓库,如有更新,则把更新的作业配置代码按需推送到CDH平台的作业配置中;通过脚本工具执行部署脚本,调用统一的更新运行脚本和配置。本发明还提供了一种可读存储介质。本发明的有益效果是:版本管理较方便,多方协同工作环境良好,可以很方便的实现系统迁移或配置恢复。

Description

一种基于源代码管理的CDH作业配置方法与可读存储介质
技术领域
本发明涉及CDH作业配置方法,尤其涉及一种基于源代码管理的CDH作业配置方法与可读存储介质。
背景技术
现有大数据CDH(ClouderaManager)管理平台中管理系统配置的技术背景如下:
1) 目前存在的ETL配置管理技术方案,基本是在大数据CDH(ClouderaManager)管理平台使用Oozie进行任务的可视化调度,把任务执行需要的脚本配置代码,大多是直接在平台上编写、提交和更新。
2) 当面对复杂、多变的大数据开发项目需求,原始的手工文本维护配置代码,使得配置代码开发人员、ETL作业管理员、CDH平台管理多方人员之间,在信息沟通方面的成本剧增,造成项目迭代更新困难。
3)当CDH平台需要系统升级时,原始的手工文本维护配置代码,使得CDH平台升级版本的成本增加,耗时变长。
当前技术方案存在的主要问题是:
1) CDH管理平台上维护配置代码没有版本管理,一旦保存原有版本就被覆盖,如果需要找回历来的各个版本变得十分困难;
2)配置代码的创建与维护,需要设计代码开发人员、ETL作业管理员多个角色介入,CDH管理平台缺乏协作开发的环境,各方人员大多通过邮件、共享文件夹等方式相互交互,多版本的迭代开发、多参与方的加入,使得协作问题变得更加麻烦;
3)如果CDH管理平台需要升级或迁移时,离散的ETL代码的配置项,难以确保各项目之间相关性和完整性,使得升级迁移CDH的作业配置变得不可靠。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于源代码管理的CDH作业配置方法与可读存储介质。
本发明提供了一种基于源代码管理的CDH作业配置方法,包括:将离散的作业配置代码提交至企业源代码管理库进行统一管理;监听代码仓库,如有更新,则把更新的作业配置代码按需推送到CDH平台的作业配置中;通过脚本工具执行部署脚本,调用统一的更新运行脚本和配置。
作为本发明的进一步改进,通过提交作业配置代码更新到GitLab源代码库管理,对每次变更的作业配置代码做版本管理,以找回任意版本的作业配置代码。
作为本发明的进一步改进,通过Jenkings持续集成管理,当作业配置代码有版本更新时,触发远程shell调用,实现作业配置代码更新到Cloudera's Distributionincluding Apache Hadoop,从而打通从代码开发人员到ETL作业管理员的协同工作环境。
作为本发明的进一步改进,代码开发人员提交作业配置代码变更到GitLab源代码库,Jenkings监听到代码变量,则根据CDH平台管理员在shell脚本上定义的条件,触发更新HDFS的更新脚本执行,ETL作业管理员使用最新版本的作用配置文件来编排高度ETL作业。
本发明还提供了一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如上述中任一项所述的方法。
本发明的有益效果是:版本管理较方便,多方协同工作环境良好,可以很方便的实现系统迁移或配置恢复。
附图说明
图1是本发明一种基于源代码管理的CDH作业配置方法的流程图。
图2是本发明一种基于源代码管理的CDH作业配置方法的架构图。
具体实施方式
下面结合附图说明及具体实施方式对本发明作进一步说明。
如图1至图2所示,一种基于源代码管理的CDH作业配置方法,包括:将离散的作业配置代码提交至企业源代码管理库进行统一管理;监听代码仓库,如有更新则将把更新的代码按需推送到CDH平台的作业配置中;通过脚本工具执行部署脚本,调用统一的更新运行脚本和配置。
具体过程如下:
1)、代码开发人员提交作业配置代码变更到GitLab源代码库,通过提交配置代码更新到GitLab源代码库管理,可以对每次变更的配置代码做版本管理,使用GitLab源代码库对ETL配置代码文件来做版本管理,可以轻松地找回任意版本的配置代码;
2)、Jenkings监听到代码变量,则根据CDH平台管理员在shell脚本上定义的条件,触发更新HDFS的更新脚本执行,ETL作业管理员使用最新版本的作用配置文件来编排高度ETL作业,通过Jenkings持续集成管理,当配置代码有版本更新时,触发远程shell调用,实现配置代码更新到Cloudera's Distribution including Apache Hadoop,从而打通从代码开发人员到ETL作业管理员的协同工作环境;
3)、配置代码都通过这套协同工作环境管理后,当CDH平台需要升级或迁移时,ETL代码的配置项都完整保存在GitLab源代码库,就很方便实现系统迁移或配置恢复。
本发明相对于现有技术而言,主要的特点在于通过源代码管理把作业配置代码数据,跟复杂的CDH系统环境剥离出来,项目开发过程中的配置数据变更全程可控,构建一套针对设计代码开发人员、ETL作业管理员、CDH平台管理等多方人员都十分透明的协作开发环境,从而提高大数据项目的开发与部署的效率。
在新宝骏数字化营销项目“骏客营销”中,该系统的ETL作业包含近100多个ETL数据抽取、处理和推送的作业脚本,需要在近30个批次的作业调度中执行,如果采用传统的部署方式,执行一次ETL配置升级需要数个人天的部署时间,并且关联作业和数据对象众多,手工操作极易出现部署错误进而影响系统发布时效要求。
使用本方法之后,技术人员仅需要提交更新代码至代码库即可触发自动化构建和部署,待测试通过之后重新调度更新的作业任务即可在半个小时内完成整个ETL配置更新的部署。
在业务频繁变化的场景中,本方法所带来的收益更大,成效更显著。
本方法提供的ETL配置管理,有效地支持了2019年度、2020年度CDH平台两次大型的系统升级项目,实现了平台的无忧升级。
本发明提供的一种基于源代码管理的CDH作业配置方法,具有以下特点:
1.源代码库管理技术:使用GitLab源代码库管理对ETL配置代码文件来做版本管理,相比在CDH管理平台上直接编写、提交和更新,ETL配置代码文件的每个版本都可以保存和追溯,在代码同步更新速度方面具有很大的优势。在持续交付中,源代码库管理有助于快速开发,测试和变更。
2.自动化CI/CD技术:在开发阶段,引入Jenkings持续集成/部署管理,使得ETL配置代码更新到Cloudera's Distribution including Apache Hadoop的过程实现系统配置自动化,减少人工比对、更新维护的动作,使得大型、复杂的ETL配置开发,变得简单、可控。在运营阶段,GitLab源代码库管理和Jenkings持续集成管理,都保留有完整的代码变更、系统配置变更的记录,规范的ETL配置与变更管理能够胜任多项目、多用户的协同开发。
3.本方法实现了源代码管理、自动化的CI/CD,降低人工干预和手动操作,大幅度提高大数据的ETL项目质量和开发效率。
本发明提供的一种基于源代码管理的CDH作业配置方法,具有以下优点:
1、实现持续集成及自动化部署,大幅度降低人工操作工作量,降低因手工导致的人为失误,同时极大提高了ETL项目的质量和效率。
2、由于ETL配置得到了有效的管理,使得在CDH平台上的系统升级,不再担心因系统平台升级失败而导致EIL配置无法找回的问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (5)

1.一种基于源代码管理的CDH作业配置方法,其特征在于,包括:将离散的作业配置代码提交至企业源代码管理库进行统一管理;监听代码仓库,如有更新,则把更新的作业配置代码按需推送到CDH平台的作业配置中;通过脚本工具执行部署脚本,调用统一的更新运行脚本和配置。
2.根据权利要求1所述的基于源代码管理的CDH作业配置方法,其特征在于:通过提交作业配置代码更新到GitLab源代码库管理,对每次变更的作业配置代码做版本管理,以找回任意版本的作业配置代码。
3.根据权利要求2所述的基于源代码管理的CDH作业配置方法,其特征在于:通过Jenkings持续集成管理,当作业配置代码有版本更新时,触发远程shell调用,实现作业配置代码更新到Cloudera's Distribution including Apache Hadoop,从而打通从代码开发人员到ETL作业管理员的协同工作环境。
4.根据权利要求3所述的基于源代码管理的CDH作业配置方法,其特征在于:代码开发人员提交作业配置代码变更到GitLab源代码库,Jenkings监听到代码变量,则根据CDH平台管理员在shell脚本上定义的条件,触发更新HDFS的更新脚本执行,ETL作业管理员使用最新版本的作用配置文件来编排高度ETL作业。
5.一种可读存储介质,其特征在于:所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如权利要求1至4中任一项所述的方法。
CN202110811184.XA 2021-07-19 2021-07-19 一种基于源代码管理的cdh作业配置方法与可读存储介质 Pending CN113485743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110811184.XA CN113485743A (zh) 2021-07-19 2021-07-19 一种基于源代码管理的cdh作业配置方法与可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110811184.XA CN113485743A (zh) 2021-07-19 2021-07-19 一种基于源代码管理的cdh作业配置方法与可读存储介质

Publications (1)

Publication Number Publication Date
CN113485743A true CN113485743A (zh) 2021-10-08

Family

ID=77942198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110811184.XA Pending CN113485743A (zh) 2021-07-19 2021-07-19 一种基于源代码管理的cdh作业配置方法与可读存储介质

Country Status (1)

Country Link
CN (1) CN113485743A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240669A (zh) * 2018-10-26 2019-01-18 苏州浪潮智能软件有限公司 一种自动化集成部署软件开发模式
CN109766091A (zh) * 2018-12-29 2019-05-17 北京航天云路有限公司 一种持续集成的方法和系统
CN110058860A (zh) * 2019-03-16 2019-07-26 平安城市建设科技(深圳)有限公司 一种代码自动交付方法、装置、设备及计算机存储介质
CN111475260A (zh) * 2020-04-10 2020-07-31 杭州趣维科技有限公司 一种基于jenkins和kubernetes平台的可弹性CICD方法
CN112631614A (zh) * 2020-12-30 2021-04-09 平安证券股份有限公司 应用部署方法、装置、计算机设备和存储介质
US20210182412A1 (en) * 2019-12-16 2021-06-17 Bce Inc. System and method for managing data object creation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240669A (zh) * 2018-10-26 2019-01-18 苏州浪潮智能软件有限公司 一种自动化集成部署软件开发模式
CN109766091A (zh) * 2018-12-29 2019-05-17 北京航天云路有限公司 一种持续集成的方法和系统
CN110058860A (zh) * 2019-03-16 2019-07-26 平安城市建设科技(深圳)有限公司 一种代码自动交付方法、装置、设备及计算机存储介质
US20210182412A1 (en) * 2019-12-16 2021-06-17 Bce Inc. System and method for managing data object creation
CN111475260A (zh) * 2020-04-10 2020-07-31 杭州趣维科技有限公司 一种基于jenkins和kubernetes平台的可弹性CICD方法
CN112631614A (zh) * 2020-12-30 2021-04-09 平安证券股份有限公司 应用部署方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US11593599B2 (en) Long running workflows for document processing using robotic process automation
US11829853B2 (en) Systems and methods for tracking and representing data science model runs
CN109885316B (zh) 基于kubernetes的hdfs-hbase部署方法及装置
EP3428811A1 (en) Database interface agent for a tenant-based upgrade system
US11977470B2 (en) Monitoring long running workflows for robotic process automation
CN111324610A (zh) 一种数据同步的方法及装置
EP2610762A1 (en) Database version management system
CN111190892B (zh) 一种数据回填中处理异常数据的方法和装置
US20190324768A1 (en) Generating an execution script for configuration of a system
CN113849399B (zh) 多国产化平台下的多机协同软件的自动化测试系统和方法
US11403120B1 (en) Enterprise process graphs for representing RPA data
CN117806654A (zh) 一种基于Tekton的自定义云原生DevOps流水线系统及方法
CN113485743A (zh) 一种基于源代码管理的cdh作业配置方法与可读存储介质
CN111367564B (zh) 一种用于运维平台的程序迭代上线管理系统
CN115185561A (zh) 一种基于Serveless Jenkins的CICD系统和实现方法
CN111897794A (zh) 数据库的维护方法、装置、电子设备和存储介质
US11966566B2 (en) Mapping interactive UI elements to RPA object repositories for RPA development
US20220091908A1 (en) Filter instantiation for process graphs of rpa workflows
US20220365915A1 (en) Upgrading a database management system deployed in a cloud platform
US20230368055A1 (en) Systems and methods to manage sub-chart dependencies with directed acyclic graphs
US20230339102A1 (en) System, apparatus, and method for deploying robotic process automations across multiple operating systems
CN103164257B (zh) 工业组态应用中的多平台画面动态调用方法和系统
Diaz et al. Cloud Data Design, Orchestration, and Management Using Microsoft Azure
CN110347447A (zh) 一种报税环境批量管理方法及系统
CN116628060A (zh) 基于kettle实现web的数据交换方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211008