文档

EMR+DLF数据湖解决方案

更新时间:

通过EMR+DLF数据湖方案,可以为企业提供数据湖内的统一的元数据管理,统一的权限管理,支持数据湖的多种管理如数据生命周期,湖格式自动优化,存储分析等。同时支持多源数据入湖以及一站式数据探索的能力。本文为您介绍EMR+DLF数据湖方案具体实践步骤。

背景信息

在EMR数据湖方案中,结合DLF,可以为企业提供数据湖内的统一的元数据管理,统一的权限管理,支持数据湖的多种管理如数据生命周期,湖格式自动优化,存储分析等。同时支持多源数据入湖以及一站式数据探索的能力。采用EMR+DLF数据湖解决方案,相对传统EMR数据湖方案有下列优点:

  • DLF提供数据湖跨引擎的统一的,全托管免运维的元数据服务。

    • 支持可视化的元数据管理,以及多版本管理和回退。

    • 支持可视化一键元数据迁移。

    • 支持元数据全文检索。

    • 支持元数据DataProfile,如文件大小,行数,访问频次,小文件数量,文件冷热度,有效文件数等。

    • 支持除EMR开源引擎外的更多计算引擎,如MaxCompute,Flink,Hologres等多种引擎。

  • DLF提供丰富的细粒度数据权限控制。

    • 支持按照数据目录/数据库/数据列/函数等资源的各种细粒度权限点的可视化配置。

    • 支持与EMR中多种计算引擎集成,包括Spark/Hive/Presto/Impala多种计算引擎。

  • 提供丰富的数据湖管理能力。

    • 支持多种维度的数据生命周期管理,可以对数据按照冷热,更新时间等自动化归档,节省存储成本。

    • 支持针对Delta数据湖格式的自动化存储优化策略,节省存储成本。

EMR+DLF数据湖解决方案整体架构

image

其他说明

  • 目前DLF服务仅在以下区域开通,仅华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)、华北3(张家口)、中国香港、新加坡、美国(弗吉尼亚)、德国(法兰克福)。

  • 关于DLF收费:目前DLF是免费公测阶段,没有额外元数据使用费用。未来收费也会设置阶梯价格,低于阶梯价格以下依旧为免费。详细参考计费模式

操作流程

具体操作

  • 步骤一:创建采用DLF为元数据服务的EMR DataLake集群

  • 步骤二:在DLF中创建元数据库和元数据表

  • 步骤三:通过DLF入湖功能创建RDS到数据湖的入湖流程

  • 步骤四:通过EMR的Spark、Presto引擎查询DLF表

步骤一:创建DLF统一元数据的EMR DataLake集群

在创建EMR集群时,如果您选择的DataLake集群类型,并且有选择Hive服务的情况下,会出现元数据选项,如下图选择“DLF统一元数据”。如果您没有开通DLF,会提醒您先开通DLF产品。

image

步骤二:初始化元数据

初始化元数据分为两种情况:

  • 原有大数据集群,需要将原来集群的元数据迁移到DLF中,可以参考元数据迁移。将您元数据迁移到DLF中。

  • 新建大数据集群,没有历史元数据。您可以通过DLF来可视化创建元数据,或者使用Hive/Spark SQL来创建数据库和数据表等。

    • 登录元数据库管理控制台,在左上角选择与OSS相同的地域,例如华东1(杭州)。

    • 使用控制台,可视化创建元数据库。

      • 例如emr_dlf_data_lake。在左侧导航栏,单击“元数据-元数据管理”。在元数据库页面,单击新建元数据库。在新建元数据库对话框,配置元数据库参数。单击确定,完成元数据库创建。

image
  • 新建大数据集群,已有数据存在在OSS中,但没有元数据信息。可以使用元数据抽取 来识别OSS上数据的元数据信息,并存储在DLF中。

步骤三:初始化数据

初始化数据一般常见的几种情况如下:

  1. 已有大数据集群,需要进行数据迁移,此时可以考虑通过Jindo DistCp工具将老集群的数据迁移到OSS中。

  2. 从RDS/MySQL/Kafka 等业务系统接入数据,此时可以考虑通过实时计算Flink实现数据入湖到DLF中。可参考如何在Flink管理DLF Catalog

步骤四:通过Spark/Presto引擎查询DLF表

通过ssh登录到EMR集群的emr-header-1节点。

1. 通过spark-sql查询表departments:

image

2. 通过presto查询表departments:

image

步骤五(可选):为数据湖开启数据权限控制,加强数据安全

有些业务场景对数据安全要求较高,需要对数据湖内的数据权限进行合理控制。此时您需要以下两部来完成数据权限的开启:

  1. EMR集群开启DLF权限控制,操作步骤可参考DLF Auth 开启EMR集群权限控制。

  2. 在DLF中按照权限设置为您的相应Catalog开启权限控制。

以上两个步骤完成后,您的整个EMR集群的数据访问将会受到数据权限控制,如果没有权限的用户访问集群数据,将会被拒绝。

此时可以参考DLF的新增授权,为相应的用户配置合理的数据权限。

步骤六(可选):使用生命周期对数据湖存储进行合理规划,节省存储成本

您可以通过生命周期管理对数据湖中的数据库、数据表配置数据管理规则,可以基于分区/表创建时间、分区/表最近修改时间、分区值三种规则类型,对数据定期进行OSS存储类型转换,从而节省数据存储成本。具体操作和说明参考生命周期管理介绍

  • 本页导读 (0)
文档反馈