搭建与管理(基于Hadoop)

通过MaxCompute与Hadoop构建湖仓一体方案旨在实现对海量数据的统一管理、存储和分析,提供了一个既能处理结构化、半结构化数据,又能满足高并发分析需求的一体化数据平台。本文为您介绍如何通过MaxCompute与Hadoop构建湖仓一体,以及管理湖仓一体项目。

前提条件

  • 已开通MaxCompute服务并创建MaxCompute项目。详情请参见开通MaxCompute服务创建MaxCompute项目

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

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

  • 当您通过MaxCompute与Hadoop构建湖仓一体时,Hadoop集群环境需开启高可用(HA)。具体详情,请咨询Hadoop集群运维人员。

使用限制

  • 仅华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、中国香港、新加坡和德国(法兰克福)地域支持构建湖仓一体能力。

  • MaxCompute与Hadoop集群所在的VPC必须部署在同一地域。

操作流程

步骤一:MaxCompute访问授权

当您通过MaxCompute与Hadoop构建湖仓一体时,授权方法如下。授予MaxCompute在用户VPC内创建ENI网卡的权限,以实现MaxCompute到用户VPC的网络连通。您可以使用VPC所有者账号登录阿里云,单击授权进行授权。

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

  1. 登录DataWorks控制台,选择支持构建湖仓一体的地域。

    说明

    湖仓一体支持的地域,详情请参见使用限制

  2. 在DataWorks控制台页面左侧导航栏,单击数据湖集成(湖仓一体)

  3. 数据湖集成(湖仓一体)页面,单击现在开始创建

  4. 新建数据湖集成页面,按照界面指引进行操作。参数说明如下所示。

    表 1. 创建数据仓库

    参数

    说明

    外部项目名称

    自定义外部项目名称。命名规则如下:

    • 名称需以字母开头,且只能包含字母、下划线和数字。

    • 名称不能超过128个字符。

    说明

    外部项目基本概念说明,请参见项目

    MaxCompute项目

    选择对应的MaxCompute项目。如果没有MaxCompute项目,您可以单击新建项目(MC控制台)创建。详情请参见创建MaxCompute项目

    说明

    如果MaxCompute项目下拉列表中无法选择目标项目,则需要在DataWorks控制台中绑定目标项目,详情请参考在工作空间创建数据源或注册集群

    表 2. 创建外部数据湖连接

    参数

    说明

    异构数据平台类型

    • 阿里云E-MapReduce/Hadoop集群:通过MaxCompute与Hadoop构建湖仓一体。

    • 阿里云DLF+OSS数据湖连接:通过MaxCompute和DLF和OSS构建湖仓一体。

    阿里云E-MapReduce/Hadoop集群

    网络连接

    选择或创建MaxCompute到阿里云E-MapReduce或Hadoop VPC网络的连接。参数详情,请参见访问VPC方案(专线直连)中的创建MaxCompute与目标VPC网络间的网络连接步骤。

    说明

    选择外部数据源

    外部数据源保存了创建外部数据湖连接所需的URL、端口、用户鉴权等。选择或创建E-MapReduce或Hadoop外部数据源。参数详情,请参见表3 外部数据源参数说明

    表 3. 外部数据源参数说明

    参数名称

    说明

    选择MaxCompute项目

    选择目标MaxCompute项目。您可以在项目管理页签查看MaxCompute项目名称。

    外部数据源名称

    自定义外部数据源名称。命名规则如下:

    • 名称只能包括小写字母、数字、下划线。

    • 名称需小于128个字符。

    网络连接对象

    MaxCompute到E-MapReduce或Hadoop VPC网络的连接。详情请参见网络开通流程

    NameNode地址

    目标Hadoop集群的Active和Standby NameNode服务地址和端口号(端口号通常是8020)。具体详情,请您联系Hadoop集群管理员获取。

    HMS服务地址

    目标Hadoop集群的Active和Standby NameNode的Hive元数据服务地址和端口号(端口号通常是9083)。具体详情,请您联系Hadoop集群管理员获取。

    集群名称

    在Hadoop集群高可用环境下用于指代NameNode的名称。自构建Hadoop集群场景下,您可以通过hdfs-site.xml文件中的dfs.nameservices配置参数获取集群名称。

    认证类型

    MaxCompute通过账号映射的方式去Hadoop集群获取元数据和数据,映射的Hadoop账号往往会有认证授权机制(如Kerberos)保护,因此需要账户的认证授权信息文件。请根据实际情况进行选择,详情请咨询Hadoop运维人员。

    • 无认证方式:Hadoop集群没有开启Kerberos认证授权机制,选择此项。

    • Kerberos账号认证:Hadoop集群开启Kerberos认证授权机制,选择此项。

      • 配置文件:上传Hadoop集群中的krb5.conf文件。

        说明

        如果Hadoop集群搭建在Linux操作系统上,krb5.conf文件一般位于Hadoop HDFS namenode master节点的 /etc目录下。

      • hmsPrincipals:HMS服务身份标识。您可以在Hadoop集群Kerberos终端,用list_principals命令获取HMS Principals。该选项示例如下所示。

        hive/emr-header-1.cluster-20****@EMR.20****.COM,hive/emr-header-2.cluster-20****@EMR.20****.COM
        说明

        不同节点的服务信息是以逗号分隔的字符串,且每个Principals与HMS服务地址一一对应。

      • 添加配置引擎权限映射

        • 云账号:使用MaxCompute访问Hadoop集群的阿里云账号。

        • Kerberos账号:Kerberos授权的具有Hive访问权限的Hadoop用户账号。

        • 上传文件:上传Kerberos账号的keytab配置文件。具体生成方式,请参见生成keytab配置文件

    表 4. 创建目标数据映射

    参数

    说明

    选择外部数据源对象

    默认与选择外部数据源一致。

    映射目标数据库

    Hadoop集群目标数据库。

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

使用湖仓一体

  1. 在DataWorks控制台页面左侧导航栏,单击数据湖集成(湖仓一体)

  2. 数据湖集成(湖仓一体)页面,选择目标外部项目,开始使用湖仓一体。

    • 使用湖仓一体。

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

    • 更新湖仓一体外部项目。

      单击目标外部项目操作列的项目配置,即可在项目配置对话框更新外部项目信息。

      说明

      您可以更新MaxCompute外部项目映射的外部数据源的数据库名称,以及重新选择外部数据源。如果需要删除外部数据源,请到外部数据源页面进行删除(暂不支持外部数据源更新操作)。

  3. 删除湖仓一体外部项目。

    单击目标外部项目操作列的删除,即可删除当前MaxCompute外部项目。

    说明

    该删除操作为逻辑删除操作,外部项目会进入静默状态,并在15天后被正式删除。在此期间无法创建同名外部项目。

查看湖仓一体外部项目的元数据信息

  1. 在DataWorks控制台页面左侧导航栏,单击工作空间列表

  2. 在工作空间列表中,选择与外部项目绑定的工作空间,单击操作列的数据地图

  3. 数据地图页面的搜索框或全部数据页签左侧项目下拉列表,输入外部项目中的表名进行搜索。

    说明
    • 表的申请权限查看血缘功能暂时不可用。

    • 表中的元数据信息为T+1更新,即在映射端(如Hive中)修改表结构,则T+1地体现在DataWorks数据地图中(MaxCompute引擎侧为实时元数据)。

在DataWorks数据开发中查看外部项目元数据信息

  1. 在DataWorks控制台页面左侧导航栏,单击工作空间列表

  2. 在工作空间列表中,选择与外部项目绑定的工作空间,单击操作列的数据开发

  3. DataStudio页面左侧菜单栏单击公共表

  4. 公共表页面的引擎类型下拉框中选择MaxCompute

  5. 项目名或表名搜索框输入外部项目中的表名进行搜索,单击目标表名称即可在下方查看表结构信息。

    说明
    • 表的申请权限查看血缘功能暂时不可用。

    • 表中的元数据信息为T+1更新,即在映射端(如Hive中)修改表结构,则T+1地体现在DataWorks数据地图中(MaxCompute引擎侧为实时元数据)。

外部项目元数据信息

相关文档

基于Hadoop集群支持Delta Lake或Hudi存储机制的湖仓一体方案,请参见基于Hadoop集群支持Delta Lake或Hudi存储机制