Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

支持的应用程序和功能

支持的应用程序

Amazon EMR 与 AWS Lake Formation 之间的集成支持下列应用程序:

  • Apache Spark

  • Apache Zeppelin

  • Amazon EMR 笔记本

重要

当前不支持其他应用程序。为确保您的集群安全,请勿安装此列表之外的其他应用程序。

支持的功能

以下 Amazon EMR 功能可用于 EMR 和 Lake Formation:

  • 静态和动态加密

  • 使用集群专用 KDC 的 Kerberos 身份验证

  • 实例组、实例队列和 Spot 实例

  • 在正在运行的集群上重新配置应用程序

以下 EMR 功能目前不能用于 Lake Formation 集成:

  • 步骤

  • 多个主节点

  • EMRFS 一致视图

  • 使用客户提供的加密密钥的 EMRFS CSE-C 和 SSE-C

限制

将 Amazon EMR 与 AWS Lake Formation 结合使用时,请注意以下限制:

  • 在启用 Lake Formation 的集群中,Spark SQL 只能读取 AWS Glue Data Catalog 管理的数据,并且不能访问在 AWS Glue 或 Lake Formation 之外管理的数据。如果在集群部署期间为其他 AWS 服务选择的 IAM 角色具有策略,允许集群访问其他数据源,则可以使用非 Spark SQL 操作访问这些数据中的数据。

    • 例如,在一组 Lake Formation 表之外,您可能希望 Spark 作业还可以访问两个 Amazon S3 存储桶和一个 Amazon DynamoDB 表。在这种情况下,您可以创建一个角色,该角色可以访问两个 Amazon S3 存储桶和 Amazon DynamoDB 表,并在启动集群时将其用于 IAM role for other AWS services

  • Spark 作业提交必须通过 EMR 笔记本、Zeppelin 或 Livy 完成。通过 spark-submit 提交的 Spark 作业目前不可用于 Lake Formation。

  • Spark SQL 只能读取 Lake Formation 表。当前不支持在 Lake Formation 中使用 Spark SQL 写入表或创建新表。

  • 当前不支持使用 Spark SQL 访问使用 Hive Map 数据类型的 Lake Formation 表。

  • 使用 Spark 访问以列格式存储的数据时,不支持谓词下推和向量化读取等性能优化。依赖于这些优化的 Spark SQL 应用程序在与 Lake Formation 结合使用时,会出现性能下降。

  • 当前没有可用于 Amazon EMR 笔记本和 Zeppelin 的集中注销。

  • 使用 Spark SQL 访问受 Lake Formation 保护的数据时,用于数据访问的 AWS CloudTrail 条目仅包含与 Amazon EMR 集群关联的 IAM 角色的名称。它们不包含使用笔记本的联合身份用户。

  • 此版本与 Lake Formation 结合使用时,不支持 Spark 的统计数据收集的回退到 HDFS 功能。此功能的属性 spark.sql.statistics.fallBackToHdfs 默认情况下是禁用的。手动启用属性时,此功能不适用。

  • 当前不支持查询包含 Amazon S3 中不同表路径中的分区的表。

  • 务必明确的是,Lake Formation 列级别授权可防止用户访问自己无权访问的列中的数据。但是,在某些情况下,用户可以访问描述表中所有列的元数据,包括那些无权访问的列。对于使用 Avro 存储格式或使用自定义串行器/反串行化器 (SerDe) 的表(其中表架构在表属性中随 SerDe 定义一起定义),此列元数据存储的表的表属性中。在将 Amazon EMR 与 Lake Formation 一起使用时,我们建议您查看所保护表的表属性的内容,并在可能的情况下限制存储在表属性中的信息,以防止任何敏感元数据对用户可见。