本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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 结合使用之前,必须满足以下先决条件:
-
设置 Amazon EMR on EKS 后,创建一个虚拟集群。
开始使用 S3 Express One Zone
按照以下步骤开始使用 S3 Express One Zone
-
为作业执行角色添加
CreateSession
权限。当 S3 Express One Zone 最初在 S3 对象上执行GET
、LIST
或PUT
等操作时,存储类会代表您调用CreateSession
。以下示例展示了如何授予CreateSession
权限。{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:
<AWS_REGION>
:<ACCOUNT_ID>
:bucket/DOC-EXAMPLE-BUCKET
", "Action": [ "s3express:CreateSession" ] } ] } -
您必须使用 Apache Hadoop 连接器 S3A 才能访问 S3 Express 存储桶,因此请将您的 Amazon S3 更改 URIs 为使用该
s3a
连接器的方案。如果未使用此方案,则可以更改用于s3
和s3n
方案的文件系统实施。要更改
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" } } ]
-
在 spark-submit 配置中,使用 Web 身份凭证提供程序。
"spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.WebIdentityTokenCredentialsProvider"