选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

读取还原的对象 - Amazon EMR

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

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

读取还原的对象

在 Amazon EMR 7.2.0 及更高版本中,您可以使用 S3A 协议从表的 S3 位置读取还原的 Glacier 对象。以前发行版中的引擎不区分 Glacier 和 Glacier Deep Archive 文件,这意味着,如果您尝试使用 S3A 访问正在进行的 Glacier 文件,则会获得 AmazonS3Exception。如果存档的 Glacier 文件仍在还原中,则此读取操作将忽略这些文件。要启用此行为,请使用设置 fs.s3a.glacier.read.restored.objects。此设置可以是三个值:

  • READ_ALL:此值表示 Amazon EMR 不应考虑从 Amazon S3 检索的存储类。这是默认行为。

  • SKIP_ALL_GLACIER:此值表示 Amazon EMR 应忽略使用 Glacier 存储类标记的任何 S3 对象,并检索所有其他对象。这是 Amazon Athena 对 Glacier 对象的默认行为。

  • READ_RESTORED_GLACIER_OBJECTS:此值指示 Amazon EMR 应检查 Glacier 对象的还原状态。如果 Amazon EMR 可以还原对象,则可以像读取普通 S3 对象一样读取。否则,Amazon EMR 会忽略 S3 Glacier 中的对象

示例

Spark

要在使用 Spark 时读取还原的对象,请使用以下配置:

--conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>

如果使用 spark-sql,请改用以下配置;

spark-sql --conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>

Flink

如果使用 Flink,则可以在 flink-conf.yaml 文件中设置配置

fs.s3a.glacier.read.restored.objects: <value>

您也可以设置 flink-conf 分类:

[ { "Classification": "flink-conf", "Properties": { "fs.s3a.glacier.read.restored.objects":"<value>" } } ]

Hive

如果使用 Hive,则可以在 hive-site.xml 文件中设置配置。

<property> <name>fs.s3a.glacier.read.restored.objects</name> <value><value></value> </property>

您也可以使用 Hive CLI 来设置属性 --hiveconf

hive --hiveconf fs.s3a.glacier.read.restored.objects=<value>

注意事项

从 S3 Glacier 读取还原的对象时,请注意以下事项:

  • 只有使用 S3A 方案或 S3AFileSystem 访问数据时,才能读取还原的对象。

  • 读取还原的 Glacier 对象时,Amazon EMR 不会还原对象本身。为此,必须使用 AWS CLI 或 SD AWS K。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。