在生活中,吃货们总想吃到最新鲜的食材,所以越来越多的商家开始主打直销,并以“从田间地头直达餐桌”、“欢乐农场现摘现捕现做”、“养殖场直供”等作为噱头来吸引消费者的关注,从而达到提高销售额的目的。

在工作中,我们也常常运用这种模式。在数据开发过程中,数据代码等是否也能这样“产地直销”,尽可能缩短中间环节,实现持续的创新迭代,快速提供高质量数据支持或产品?

据界面Vnews,英国埃塞克斯大学日前进行的一项研究发现,世界上最无聊的工作为数据分析师。谷歌数据分析师的另一项研究发现,对于大多数机器学习项目,程序员只有5%的时间花在编写ML代码上。另外95%的时间用于设置运行ML代码所需的基础设施。

无可置疑,在“数据准备环节”、“设置运行ML代码所需的基础设施”等环节和“开发、测试、生产”过程中联动占用了大量的时间,令整个项目的开发的战线拉长。因此,我们引入了DataOps理念。

在数据开发过程中,DataOps更加关注数据的交付流程,满足持续数据集成、持续发布等能力。其核心是用于提高数据分析团队与数据工程团队所使用的数据质量并缩短数据分析的时间周期,使企业的数据团队能够更快速、更准确地提供分析解决方案。

一、创建项目空间

如何让所有数据需求者都能够轻松地获得、访问和使用数据?其管理的目标是:创建可预测的数据、模型、以及相关组件的交付和变更管理,以便在整个组织内和数据消费者中,更快地交付出有价值的信息。

在数据开发的前期准备工作,平台提供以项目空间为单元的开发协作模式,在项目空间内部,将存储资源、计算资源和数据库资源租户化,不同角色的用户(项目管理员、数据开发人员、测试人员、运维人员、数据分析人员等)可以使用不同的功能和权限,大家协同工作。

项目隶属于机构之下,同一机构下可以创建多个项目空间,各项目共享机构资源;同一个项目内可以添加多个用户,同一个用户可以加入多个项目。项目开发负责人可以通过平台对项目的开发资源一目了然,避免重复造轮子。

人员

对当前项目空间的成员进行管理和配置,只有项目的成员才能访问该项目。项目成员角色包括项目管理员、开发人员、测试人员和访客。

资源

项目资源管理,包括资源创建、资源变更、资源申请等操作,根据不同的底座和开发场景选择对应的资源。包括开发环境、测试环境、生产环境的资源。

数据

对当前项目中需要访问的数据来源进行管理,目前支持MySQL、

Oracle、SqlServer、PostgreSQL、Greenplum、Gauss

Elasticsearch、Clickhouse、StarRocks、MongoDB、FTP、SFTP.

二、持续集成:数据的发现、集成和准备

在数据开发平台中,项目的基本设施已经搭建完毕,开发项目需要对数据的持续集成,包括数据发现、集成和准备。数据的持续集成主要是引入企业数据到底座中进行数据开发和治理,数据集成功能提供对业务方数据库进行分布式数据抽取、监控功能,能对数据源进行数据同步与批量集成。

(1)支持对MySQL、Oracle、SqlServer、PostgreSQL、Greenplum、Gauss、MySQL分库分表、PostgrSQL分库分表、Elasticsearch、Clickhouse、StarRocks、MongoDB、FTP、SFTP数据源进行数据集成,支持离线数据的全量、增量的同步

(2)支持输出数据源配置、输入目的地配置、字段映射配置、运行参数配置、版本管理、保存、运行、查看运行历史等功能

(3)支持预览来源表样例数据

(4)支持配置多并发读、写任务数量

(5)支持配置脏数据策略,能保存及下载脏数据文件

(6)支持可视化编辑和脚本编辑两种方式,能动态切换

三、持续发布:开发、测试、生产

在数据开发管控的任务过程中,敏捷的数据开发管道提供从数据集成、数据开发、持续集成、持续测试、持续部署、调度监控的敏捷数据开发管道。分布式任务调度,支持海量作业调度及可水平扩展能力。为企业提供了在开发状态、测试状态、生产状态的数据全生命周期的全流程服务,解决敏捷开发运用到数据工程管理等难题,提升数据价值变现效率。

(1)发布包管理

上线任务打包:实现对提交的表、任务、脚本进行打包,打包成发布包,并对发布包进行提测,按需打包发布,实现敏捷开发的任务发布过程。

下线任务打包:实现对提交下线申请的任务进行打包,打包成下线发布包,并对下线发布包的任务进行下线

(2)任务测试

任务测试实现了发布包提测后,自动部署表、脚本到测试环境。平台采集测试实例运行情况及测试意见,生成测试报告。

(3)发布上线

测试通过的发布包可提交上线申请,通过申请后,系统会自动部署发布包内的表和脚本至生产环境,并注册任务到调度平台周期运行。

四、数据质量:把控数据开发项目质量

在完成数据开发后,为了对数据开发项目质量进行验证,将进入测试验证环节包括冒烟测试、填写测试意见和测试报告反馈,确保提供满足项目需求的数据质量。

冒烟测试:任务测试提供对发布包任务的测试功能,实现了发布包提测后,自动部署表、脚本到测试环境。测试人员对提测发布包的作业进行冒烟测试。

(1)支持以DAG方式运行整个工作流

(2)针对单个任务,选择执行业务日期,对测试环境任务进行单次执行,并收集任务执行情况

(3)支持将工作流注册到测试态调度监控平台进行周期调度

测试意见:支持在测试过程中添加测试意见

测试报告:平台采集冒烟测试运行情况、日志、测试环境调度实例运行情况及测试意见,生成测试报告。

五、持续部署:用户都能用上最新的数据

在这一阶段,您可以为业务部门的自助服务赋能,并使企业内的各类用户都能用上可信的数据。通过这种实践,贯穿数据管道开发过程所有阶段的每一个变化,都会被分发给分析人员和业务用户所使用的各种数据消费应用。对许多业务工作来说,数据驱动型应用已变得十分重要,这些业务工作包括如:客户服务、营销、电子商务、欺诈检测、供应链管理等。这些都意味着,业务专家可以更快地访问到最新的数据。

DataBuilder一站式数据开发管控平台打通了所有数据开发过程中的所有环节,真正做到“自产自销”,让数据开发项目能够实现持续集成持续发布的灵活快速处理状态,对于数据驱动的企业而言,有助于提高数据分析的质量和速度,提升数据项目的“时间的价值”!

数据代码如何“产地直销”,做到持续集成持续发布?相关推荐

  1. 持续集成/持续交付(CI/CD)

    目录 全面了解持续集成/持续交付 概览 "持续"是什么意思? 什么是"持续交付管道"? 持续交付管道是如何工作的? "快速失败"是什么意思? ...

  2. Linux中级实战部署一:企业级 CICD 持续集成交付发布---(git,github,gitlab)

    企业级 CI/CD 持续集成/交付/发布 一:git,github,gitlab的区别 Git是版本控制系统:Github是在线的基于Git的代码托管服务,GitHub同时提供付费账户和免费账户:Gi ...

  3. 敏捷/持续集成/持续交付/DevOps基本理论全面解析

    1 辨析敏捷/持续集成/持续交付/DevOps 2 持续集成 2.1 为何会有持续集成? 敏捷开发解决了单体应用的开发和每日构建的问题. 而单体应用拆分成微服务,就需要有一套方案来组装这些微服务,使其 ...

  4. 持续集成持续部署持续交付_如何开始进行持续集成

    持续集成持续部署持续交付 Everything you need to know to get started with continuous integration: branching strat ...

  5. CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

    构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台 CI/CD是什么? 持续集成(CI)/持续交付(CD)的优势 自动化部署流程图 Git Github Gi ...

  6. jenkins ---持续集成/持续发布

    持续集成/持续发布 CI/CD Jenkins Jenkins概述 Jenkins目标 Jenkins特性 部署 环境准备 1.部署git 2.jdk环境部署 3.部署maven 4.部署tomcat ...

  7. GitLab持续集成持续部署(CICD)

    其他博文连接 Ubuntu Server 16.04LTS 搭建GitLab服务器 ubuntu server 16.04 使用docker搭建jenkins和sonarqube Gitlab配置Gi ...

  8. 持续集成/持续部署(3)Jenkins(2)

    JenkinsPipeline CI/CD持续集成/持续部署 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次 ...

  9. 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)

    4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...

最新文章

  1. 在Docker中运行Spring Boot的高级功能测试
  2. centos7arm进入图形化_CentOS 7 安装图形化界面
  3. 2021-02-21 Python Easyocr 图片文字识别
  4. 重磅!全网最全13010本SCI2020最新影响因子下载!CA+四大神刊!预警期刊最新影响因子一览!
  5. centos(7) 使用yum进行安装lamp环境
  6. 02-对图像进行边界填充
  7. python的threading是什么意思_Python中的threading模块是什么
  8. 页面输出缓存[转载]
  9. 编码器的一点微小认识
  10. 消息称《绝地求生》开发商Krafton将启动IPO 腾讯是大股东
  11. OpenCV——读取图片的数据类型必须是int8类型吗?
  12. adb shell 直接修改Settigns中设置项
  13. 微信 openid 变吗?
  14. MATLAB中dsolve与syms
  15. boost入门(四):Asio实现网络通信
  16. 生命在于学习——业务逻辑漏洞
  17. Red is good
  18. 数据库应用——DQL查询数据(连表查询 子查询 详细案例)
  19. 高防IP防护效果怎么样?甜甜告诉您
  20. 易康中如何提取特征并进行重要性排序

热门文章

  1. 新郑计算机培训机构排名前十,新郑美术培训中心排名
  2. 山西省大学计算机专业排名,山西省:排名前14的大学!山西的大学分为5档,前2档最难考!...
  3. c++11 unkown总结
  4. 云测试中QA团队的作用
  5. python3爬取笔趣阁小说
  6. 对定向天线的浅薄理解
  7. 中国石油大学远程教育《大学英语(四)》第一阶段在线作业
  8. 机器学习之MATLAB代码--SMA_LSSVM(十一)
  9. android 多个shortCut快捷方式实现以及对58同城快捷方式的实现思路的研究
  10. Quartus II 13.0 添加器件库教程(包含下载地址)