DataWorks支持基于EMR(E-MapReduce)计算引擎创建Hive、MR、Presto和Spark SQL等节点,实现EMR任务工作流的配置、定时调度和元数据管理等功能,帮助EMR用户更好地产出数据。本文为您介绍使用DataLake(新版数据湖)集群在DataWorks上进行EMR作业的注意事项及开发流程,建议操作前仔细查看。
背景信息
EMR的DataLake(新版数据湖)集群类型用于EMR新版控制台,是一个更灵活、可靠,以及高效的大数据计算集群,您可以基于该集群轻松构建一个可扩展的数据管道。DataLake的更多信息,详情请参见DataLake集群。使用限制
在DataWorks上执行EMR作业及其他操作时,EMR集群及DataWorks功能的限制和影响如下表所示。限制类别 | 说明 |
---|---|
DataLake集群以及自定义集群 | 版本必须大于等于3.41.0或5.7.0。若集群版本过低,则无法使用DataWorks相关功能。 |
DataWorks功能 |
|
DataWorks on EMR的使用 | 仅支持使用独享调度资源组运行任务。 |
使用流程
- 准备工作在DataWorks上进行EMR任务开发前,为保证开发流程顺利执行,您需要分别在EMR侧及DataWorks侧进行相关准备工作。
准备类别 操作说明 参考链接 EMR侧 为避免作业运行时出错,您需要先检查DataLake集群的部分关键配置是否满足要求。主要涉及LDAP、Ranger白名单、安全策略等配置,该类配置均是为了在DataWorks运行EMR引擎任务时进行鉴权,在EMR集群进行身份认证。 - 创建DataLake集群。
- DataLake集群配置:DataLake集群配置。
- 建议您在购买EMR并开始准备EMR环境之前,先参考:DataWorks on EMR集群配置最佳实践。
DataWorks侧 - 您需绑定EMR集群为DataWorks的引擎,该集群为后续在DataWorks上运行EMR任务的引擎环境。请您创建或选择DataWorks简单模式的工作空间绑定EMR集群为DataWorks的引擎。说明 绑定引擎可使用快捷模式及安全模式。快捷模式用于快速开展各类数据工作,安全模式用于实现更具安全性的数据权限管理,您可基于当前EMR集群现状及业务需要选择。
- 进行独享调度资源组购买及配置、添加工作空间成员及授权等相关操作,准备好运行EMR作业所需的资源、权限等,确保EMR作业顺利执行。
- 开发EMR作业
- 创建业务流程。
数据开发基于业务流程下对应的开发组件进行具体开发操作,创建节点前需要先新建业务流程。创建业务流程,详情请参见创建周期业务流程。
- 创建EMR节点。DataWorks基于节点进行任务开发,EMR集群上不同类型的任务在DataWorks中被封装为不同类型的EMR节点,您可根据业务需要,选择合适的节点类型进行EMR任务开发。创建EMR开发节点,详情请参见创建EMR节点。说明 目前支持创建EMR Hive、EMR MR、EMR Spark SQL、EMR Spark、EMR Shell、EMR Presto、EMR Impala、EMR Spark Streaming等8种类型的节点。
- 代码开发及调试。
完成EMR节点的作业开发后,为保障生产任务高效运行,避免计算资源浪费,建议您在任务发布前先对任务进行测试运行,详情请参见调试及查看任务。
- 提交发布作业。EMR作业运行调试无误后,您需将目标作业提交发布至生产环境调度运行,详情请参见发布任务。说明 任务需要发布至生产调度后,才会周期调度运行。
- 创建业务流程。
后续操作
操作类别 | 说明 | 参考链接 |
---|---|---|
EMR元数据管理 | 绑定引擎后,数据地图将自动通过元数据采集方式采集该集群元数据,您可以在数据地图查看EMR表详情、产出信息等。 说明
| 数据地图概述 |
EMR数据质量监控 | 数据质量提供对调度任务产出的表数据的质量监控能力,您可通过配置表的质量监控规则实现对表数据的监控。 说明 DataLake类型集群配置数据质量规则时,您需要选择 dqc_emr_plugin_datalake 插件。![]() | 数据质量概述 |
EMR任务运维监控 | 智能监控提供调度任务执行状态的监控能力,您可通过配置智能监控规则实现任务运行状态的监控。 | 智能监控概述 |
权限说明
- EMR集群认证与鉴权控制
若您使用非系统账号进行集群身份认证,则需要先在集群开启对应的认证服务,并将在DataWorks上进行EMR任务开发的账号加入该认证服务。
- EMR引擎绑定权限
目标账号需要拥有
AliyunEMRFullAccess
权限策略,才可将EMR集群绑定至DataWorks作为开发EMR任务的引擎环境。 - 数据权限控制
- DataWorks
在DataWorks中,您可通过DataWorks工作空间成员与集群账号映射的方式获得EMR引擎权限,实现DataWorks工作空间成员在EMR集群的用户认证与鉴权。不同任务责任人、阿里云主账号、阿里云RAM用户在DataWorks上运行EMR任务时,通过配置不同的数据操作权限,最终实现权限隔离。
- EMR
您可在EMR集群通过权限管理相关组件服务实现DataWorks上各用户的数据权限隔离。例如,通过Ranger组件对阿里云账号对应的集群用户进行权限管控。
如果EMR已将DLF设置为元数据服务,并开启DLF-Auth组件实现数据湖构建DLF的权限功能,则您可以在DataWorks安全中心模块申请数据权限,详情请参见DLF数据访问权限控制。
- DataWorks
- DataWorks功能模块使用权限控制
在DataWorks运行EMR任务时,您需要拥有DataWorks数据开发(DataStudio)、数据地图、数据质量、智能监控等功能模块的使用权限,以便执行开发任务及开发后的运维、质量管控操作。