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

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

使用 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"