适用场景

发布中心是本数据平台的统一资源发布平台,通过资源打包、发布、导入、应用等过程,实现在线和离线场景下的跨环境资源发布。针对有多套数据开发环境需求的客户,可以使用发布中心产品。

当前版本支持发布的资源,包括离线开发任务、Hive表、质量监控任务、离线同步任务。支持一个平台内不同项目-集群间的资源发布,也支持多个平台间网络互通场景的在线发布,也支持多个平台间网络环境不同场景下的离线发布。

基本使用流程

在发布中心,将用户资源导出的环境叫做发布方,资源导入的环境叫做接收方。发布方的已上线资源,在发布中心可打包成发布包,再通过发布,即可在接收方的流程协作与通知中心创建“发布包发布”工单。

在接收方对工单审批通过后,接收方即可接收到一个“发布实例包”,有权限的人员可继续将包中的资源发布到对应的子产品中。另外,在发布方创建工单时,支持设置策略,可实现工单审批通过后立即自动发布到子产品的功能。

在线场景下的发布流程如下图:
产品简介 - 图1
离线场景下的发布流程如下图:
产品简介 - 图2

如下图,为发布中心和其它子产品的协作流程图:

产品简介 - 图3

发布模式

客户在数据平台采购规模、团队对数据平台的维护模式上会有一些差异,因此在多环境发布场景下,也会有不同形态。下方表格介绍了平台现有架构下,可支持的6种发布模式,这些模式具备不同的隔离级别。另外,有些客户会有3套或4套环境,也可以采用不同发布模式进行组合。

产品简介 - 图4

下面,先按不同模式独立进行介绍,后面再按目前的一些典型客户的组合模式再进行说明:

模式一:“同集群跨项目组”模式

产品简介 - 图5

  • 该种方案是实现多套环境隔离的最经济的方案。

  • 在1个平台,且部署了1个集群的场景下,即可实施该方案。通过在一个集群下创建多个项目,并将项目分组,形成开发项目组和生产项目组。比如图中的项目dev_dw和dev_ods归属到“开发项目组”,项目prd_dw和prd_ods归属到“生产项目组”。数据开发人员在开发项目组的项目下完成任务开发,并发布到生产项目组。

  • 但是,采用该方案对数据开发人员使用有一些规则约束。该种模式下,由于同集群下Yarn队列和Hive库仅可归属到一个项目,因此对于同集群跨项目发布时,发布方和接收方所使用的Yarn队列和Hive库是不同的。因此在SQL编写时,对于使用的Hive库,需要使用参数的方式来指定,并需要配合使用参数组。在发布时,通过参数组的替换,可实现在发布方的任务实际操作发布方的Hive库,接收方实际操作接收方的Hive库。

  • 具体上述场景,在使用指南中。

模式二:“同集群跨项目”模式

产品简介 - 图6

  • 该种方案和模式一类似,唯一的区别是,4个项目都归属到一个项目组。

模式三:“同项目跨集群”模式

产品简介 - 图7

  • 该种方案相比上一种方案,需要多部署一套集群,对数据开发人员不需要有特殊的规则约束。

  • 在1个平台,且部署了2个集群的场景下,可实施该方案。通过一个项目在2个集群上都开通,从而得到用作开发环境的“项目-集群”和用于生产的“项目-集群”,且项目名称相同。

模式四:“跨项目跨集群”模式

  • 该种方案和上一种方案相比,部署上没有区别,仅在平台的项目配置上有一些差异。

  • 在1个平台,且部署了2个集群的场景下,可实施该方案。仅需要创建1个项目组(比如叫“中台项目组”),在该项目组下,创建一个用作开发环境的项目(比如叫“dev_dw”),并在开发集群上开通。再在该项目组下,创建一个用作生产环境的项目(比如叫“prd_dw”),并在生产集群上开通。

    产品简介 - 图8

模式五:“跨项目组跨集群”模式

  • 该种方案和上一种方案相比,差别主要是发布方和接收方的项目是否在同一个项目组。

  • 在1个平台,且部署了2个集群的场景下,可实施该方案。首先需要创建2个项目组,在项目组1(比如叫“中台项目组”)中,创建一个用作开发环境的项目(比如叫“dev_dw”),并在开发集群上开通。再在项目组2(比如叫“中台生产项目组”)中,创建一个用作生产环境的项目(比如叫“prd_dw”),并在生产集群上开通。

产品简介 - 图9

模式六:“跨平台”模式

  • 该种方案的投入成本最高,但是隔离性最高。

  • 在2个平台,且每个平台部署了1个集群的场景下,可实施该方案。通过在用作开发环境的平台上创建开发项目,在用作生产环境的平台上创建生产项目,得到发布方和接收方的“项目-集群”的名称都相同的环境。

  • 该种模式下,可采用在线发布和离线导出导入的方式,解决网络互通和网络隔离场景下的资源发布。

  • 使用注意事项:两个平台下,项目和集群建议都采用相同的命名。

产品简介 - 图10