CN113485743A - 一种基于源代码管理的cdh作业配置方法与可读存储介质 - Google Patents
一种基于源代码管理的cdh作业配置方法与可读存储介质 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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(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中任一项所述的方法。
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)
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 |
-
2021
- 2021-07-19 CN CN202110811184.XA patent/CN113485743A/zh active Pending
Patent Citations (6)
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 |