使用 Amazon EMR on EKS 将数据上传到 Amazon S3 Express One Zone 存储类 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon EMR on EKS 将数据上传到 Amazon S3 Express One Zone 存储类

对于 Amazon EMR 7.2.0 及更高版本,可将 Amazon EMR on EKS 与 Amazon S3 Express One Zone 存储类结合使用,以提高运行作业和工作负载时的性能。S3 Express One Zone 是一种高性能的单区 Amazon S3 存储类,可为大多数延迟敏感型应用程序提供一致的个位数毫秒级数据访问。S3 Express One Zone 在其发布时,提供了 Amazon S3 中延迟最低、性能最高的云对象存储。

先决条件

在将 S3 Express One Zone 与 Amazon EMR on EKS 结合使用之前,必须满足以下先决条件:

开始使用 S3 Express One Zone

按照以下步骤开始使用 S3 Express One Zone

  1. 为作业执行角色添加 CreateSession 权限。当 S3 Express One Zone 最初在 S3 对象上执行 GETLISTPUT 等操作时,存储类会代表您调用 CreateSession。以下示例展示了如何授予 CreateSession 权限。

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:<AWS_REGION>:<ACCOUNT_ID>:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
  2. 您必须使用 Apache Hadoop 连接器 S3A 才能访问 S3 Express 存储桶,因此请将您的 Amazon S3 更改 URIs 为使用该s3a连接器的方案。如果未使用此方案,则可以更改用于 s3s3n 方案的文件系统实施。

    要更改 s3 方案,请指定以下集群配置:

    [ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

    要更改 s3n 方案,请指定以下集群配置:

    [ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
  3. 在 spark-submit 配置中,使用 Web 身份凭证提供程序。

    "spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.WebIdentityTokenCredentialsProvider"