MaxCompute提供湖仓一体方案,该方案可以打破数据湖与数据仓库割裂的体系,并将数据湖的灵活性、生态丰富能力与数据仓库的企业级部署能力进行融合,助力构建数据湖和数据仓库相融合的数据管理平台。本文为您介绍如何通过MaxCompute和异构数据平台构建湖仓一体(本功能处于公测阶段)。

背景信息

MaxCompute湖仓一体方案通过数据仓库MaxCompute和数据湖共同实现。当前支持的两种构建湖仓一体方式如下:
  • 通过MaxCompute与数据湖构建DLF和对象存储OSS构建湖仓一体:数据湖的元数据(Schema)全部位于DLF中。MaxCompute可以利用DLF对OSS元数据管理能力,提升对OSS半结构化格式(Delta Lake、Hudi、AVRO、CSV、JSON、PARQUET、ORC)数据的处理能力。更多DLF和OSS介绍,请参见数据湖构建DLF对象存储OSS
  • 通过MaxCompute与Hadoop构建湖仓一体:该方式包括本地机房搭建、基于云上虚拟机搭建以及阿里云E-MapReduce等。当MaxCompute与Hadoop平台所在的VPC区域网络开通后,MaxCompute可以直接访问Hive元数据服务,并将元数据信息映射到MaxCompute的外部项目(External Project)中。

使用限制

  • 仅华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)、新加坡和德国(法兰克福)地域支持构建湖仓一体能力。
    说明 华北3(张家口)只支持连接E-MapReduce或Hadoop,不支持本区域的DLF和OSS结合。
  • MaxCompute可以部署在与OSS和DLF不同的地域,但OSS和DLF必须部署在同一地域。

前提条件

在开始构建前,请您确保已经完成以下准备工作:
  • 已开通MaxCompute服务并创建MaxCompute项目。详情请参见开通MaxCompute服务创建MaxCompute项目
    说明

    如果已经开通了MaxCompute服务,直接使用即可。如果未开通,建议开通时设置MaxCompute数据类型为Hive兼容。

    通过MaxCompute与Hadoop构建湖仓一体时,Hadoop集群所使用的VPC和MaxCompute服务开通地域保持一致,这样可以免去跨地域网络产生的费用。

  • 当您通过MaxCompute与DLF和OSS构建湖仓一体时,请确保:
    • 已开通DLF服务。您可以在DLF开通页面,开通DLF服务。
    • 已开通OSS服务。详情请参见开通OSS服务
  • 当您通过MaxCompute与Hadoop构建湖仓一体时,Hadoop集群环境需开启高可用(HA)。具体详情,请咨询Hadoop集群运维人员。

步骤一:MaxCompute访问授权

  • 当您通过MaxCompute与Hadoop构建湖仓一体时,授权方法如下。

    授予MaxCompute在用户VPC内创建ENI网卡的权限,以实现MaxCompute到用户VPC的网络连通。您可以使用VPC所有者账号登录阿里云,单击授权进行授权。

  • 当您通过MaxCompute与DLF和OSS构建湖仓一体时,授权方法如下。
    MaxCompute项目的账号未经授权无法访问DLF,您需要执行授权操作。授权方式包含以下两种:
    • 一键授权:当创建MaxCompute项目的账号和部署DLF的账号相同时。推荐您直接单击授权DLF进行一键授权。
    • 自定义授权:当创建MaxCompute项目的账号和部署DLF的账号相同或不相同,都可以使用该方式。详情请参见自定义授权DLF

步骤二:通过DataWorks构建湖仓一体

  1. 登录DataWorks控制台,选择支持构建湖仓一体的地域。
    说明 湖仓一体支持的地域,详情请参见使用限制
  2. 在DataWorks控制台页面左侧导航栏,单击数据湖集成(湖仓一体)
  3. 数据湖集成(湖仓一体)页面,单击现在开始创建
  4. 新建数据湖集成页面,按照界面指引进行操作。参数说明如下所示。
    表 1. 创建数据仓库
    参数 说明
    外部项目名称 自定义外部项目名称。命名规则如下:
    • 名称需以字母开头,且只能包含字母、下划线和数字。
    • 名称不能超过128个字符。
    说明 外部项目基本概念说明,请参见项目
    MaxCompute项目 选择对应的MaxCompute项目。如果没有MaxCompute项目,您可以单击新建项目(MC控制台)创建。详情请参见创建MaxCompute项目
    表 2. 创建外部数据湖连接
    参数 说明
    异构数据平台类型
    • 阿里云E-MapReduce/Hadoop集群:通过MaxCompute与Hadoop构建湖仓一体。
    • 阿里云DLF+OSS数据湖连接:通过MaxCompute和DLF和OSS构建湖仓一体。
    阿里云E-MapReduce/Hadoop集群 网络连接 选择或创建MaxCompute到阿里云E-MapReduce或Hadoop VPC网络的连接。参数详情,请参见专有网络连接方案步骤三。
    说明
    选择外部数据源 外部数据源保存了创建外部数据湖连接所需的URL、端口、用户鉴权等。选择或创建E-MapReduce或Hadoop外部数据源。参数详情,请参见外部数据源管理中创建外部数据源的步骤三。
    阿里云DLF+OSS数据湖连接 External Project描述 可选。外部项目描述。
    DLF所在区 连接DLF所在的可用区,请您根据地域进行选择。可选项如下:
    • 杭州:cn-hangzhou
    • 上海:cn-shanghai
    • 北京:cn-beijing
    • 深圳:cn-shenzhen
    • 新加坡:ap-southeast-1
    • 法兰克福:eu-central-1
    DLF Endpoint DLF的对内服务Endpoint,请您根据地域进行选择。可选项如下:
    • 华东1(杭州):dlf-share.cn-hangzhou.aliyuncs.com
    • 华东2(上海):dlf-share.cn-shanghai.aliyuncs.com
    • 华北2(北京):dlf-share.cn-beijing.aliyuncs.com
    • 华南(深圳):dlf-share.cn-shenzhen.aliyuncs.com
    • 新加坡(东南亚1):dlf-share.ap-southeast-1.aliyuncs.com
    • 德国(法兰克福):dlf-share.eu-central-1.aliyuncs.com
    DLF数据库名称 连接DLF的目标数据库名称。您可以登录DLF控制台,在左侧导航栏元数据管理下拉列表下的元数据库页面获取。
    DLF RoleARN 可选。RAM角色的ARN信息。采用自定义授权方式时,需要配置该参数。您可以登录RAM访问控制台,在左侧导航栏身份管理下拉列表下的角色页面获取。
    表 3. 创建目标数据映射
    参数 说明
    选择外部数据源对象 默认与选择外部数据源一致。
    映射目标数据库 Hadoop集群目标数据库。

步骤三:通过DataWorks管理湖仓一体

  • 使用湖仓一体

    1. 在DataWorks控制台页面左侧导航栏,单击数据湖集成(湖仓一体)
    2. 数据湖集成(湖仓一体)页面,选择目标外部项目,开始使用湖仓一体。
      • 使用湖仓一体。

        单击目标外部项目操作列的使用湖仓一体

      • 更新湖仓一体外部项目。
        单击目标外部项目操作列的项目配置,即可在项目配置对话框更新外部项目信息。
        说明 您可以更新MaxCompute外部项目映射的外部数据源的数据库名称,以及重新选择外部数据源。如果需要删除外部数据源,请到外部数据源页面进行删除(暂不支持外部数据源更新操作)。
      • 删除湖仓一体外部项目。
        单击目标外部项目操作列的删除,即可删除当前MaxCompute外部项目。
        说明 该删除操作为逻辑删除操作,外部项目会进入静默状态,并在15天后被正式删除。在此期间无法创建同名外部项目。
  • 查看湖仓一体外部项目的元数据信息

    1. 在DataWorks控制台页面左侧导航栏,单击工作空间列表
    2. 在工作空间列表中,选择与外部项目绑定的工作空间,单击操作列的数据地图
    3. 数据地图页面的搜索框或全部数据页签左侧项目下拉列表,输入外部项目中的表名进行搜索。
      说明
      • 表的申请权限查看血缘功能暂时不可用。
      • 表中的元数据信息为T+1更新,即在映射端(如Hive中)修改表结构,则T+1地体现在DataWorks数据地图中(MaxCompute引擎侧为实时元数据)。