Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wiederhergestellte Objekte lesen
Mit Amazon EMR Version 7.2.0 und höher können Sie wiederhergestellte Glacier-Objekte vom S3-Speicherort der Tabelle mit dem S3A
Protokoll lesen. Engines in früheren Versionen unterscheiden nicht zwischen Glacier- und Glacier Deep Archive-Dateien, was bedeutet, dass Sie eine erhalten würden, AmazonS3Exception
wenn Sie versuchen würden, auf eine in Bearbeitung befindliche Glacier-Datei zuzugreifen. S3A
Bei diesem Lesevorgang werden archivierte Glacier-Dateien ignoriert, wenn sie noch wiederhergestellt werden. Verwenden Sie die Einstellungfs.s3a.glacier.read.restored.objects
, um dieses Verhalten zu aktivieren. Diese Einstellung kann drei Werte haben:
-
READ_ALL — Dieser Wert gibt an, dass Amazon EMR die von Amazon S3 abgerufenen Speicherklassen nicht berücksichtigen sollte. Dies ist das Standardverhalten.
-
SKIP_ALL_GLACIER — Dieser Wert gibt an, dass Amazon EMR alle S3-Objekte ignorieren soll, die mit der Glacier-Speicherklasse gekennzeichnet sind, und alle anderen Objekte abrufen soll. Dies ist das Standardverhalten für Amazon Athena in Bezug auf Glacier-Objekte.
-
READ_RESTORED_GLACIER_OBJECTS — Dieser Wert gibt an, dass Amazon EMR den wiederhergestellten Status des Glacier-Objekts überprüfen sollte. Wenn Amazon EMR das Objekt wiederherstellen kann, können Sie es wie ein normales S3-Objekt lesen. Andernfalls ignoriert Amazon EMR das Objekt aus S3 Glacier
Beispiele
Spark
Verwenden Sie die folgende Konfiguration, um wiederhergestellte Objekte zu lesen, wenn Sie Spark verwenden:
--conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>
Wenn Sie Spark-Sql verwenden, verwenden Sie stattdessen die folgende Konfiguration:
spark-sql --conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>
Flink
Wenn Sie Flink verwenden, können Sie die Konfiguration in der Datei festlegen flink-conf.yaml
fs.s3a.glacier.read.restored.objects: <value>
Sie können auch die flink-conf
Klassifizierung festlegen:
[
{
"Classification": "flink-conf",
"Properties": {
"fs.s3a.glacier.read.restored.objects":"<value>"
}
}
]
Hive
Wenn Sie Hive verwenden, legen Sie die Konfiguration in der hive-site.xml
Datei fest.
<property>
<name>fs.s3a.glacier.read.restored.objects</name>
<value><value>
</value>
</property>
Sie können die Eigenschaft --hiveconf
auch mit der Hive-CLI festlegen:
hive --hiveconf fs.s3a.glacier.read.restored.objects=<value>
Überlegungen
Beachten Sie beim Lesen wiederhergestellter Objekte aus S3 Glacier die folgenden Überlegungen:
-
Sie können wiederhergestellte Objekte nur lesen, wenn Sie das
S3A
Schema oder die verwendenS3AFileSystem
, um auf die Daten zuzugreifen. -
Wenn Sie ein wiederhergestelltes Glacier-Objekt lesen, stellt Amazon EMR das Objekt selbst nicht wieder her. Dazu müssen Sie das AWS CLI oder das AWS SDK verwenden.