Verwenden eines Manifests für die Angabe von Datendateien - Amazon Redshift

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.

Verwenden eines Manifests für die Angabe von Datendateien

Sie können ein Manifest verwenden, um sicherzustellen, dass der COPY Befehl alle erforderlichen Dateien und nur die erforderlichen Dateien für das Laden von Daten lädt. Sie können ein Manifest verwenden, um Dateien aus verschiedenen Buckets hochzuladen oder Dateien, die nicht das gleiche Präfix verwenden. Anstatt einen Objektpfad für den COPY Befehl anzugeben, geben Sie den Namen einer Textdatei im JSON -Format an, in der die zu ladenden Dateien explizit aufgeführt sind. URLIm Manifest müssen der Bucket-Name und der vollständige Objektpfad für die Datei angegeben werden, nicht nur ein Präfix.

Weitere Informationen zu Manifestdateien finden Sie im COPY Beispiel Verwenden eines Manifests zur Angabe von Datendateien.

Das folgende Beispiel zeigt das JSON Laden von Dateien aus verschiedenen Buckets und mit Dateinamen, die mit Datumsstempeln beginnen.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/2013-10-05-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-05-custdata", "mandatory":true} ] }

Das optionale mandatory Flag gibt an, ob ein Fehler zurückgegeben COPY werden soll, wenn die Datei nicht gefunden wird. Der Standardwert von mandatory ist false. COPYWird unabhängig von den obligatorischen Einstellungen beendet, wenn keine Dateien gefunden werden.

Im folgenden Beispiel wird der COPY Befehl mit dem Manifest aus dem vorherigen Beispiel ausgeführt, das benannt istcust.manifest.

COPY customer FROM 's3://amzn-s3-demo-bucket/cust.manifest' IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' MANIFEST;

Es wird ein Manifest verwendet, das von erstellt wurde UNLOAD

Ein Manifest, das durch einen UNLOAD Vorgang unter Verwendung des MANIFEST Parameters erstellt wurde, enthält möglicherweise Schlüssel, die für den COPY Vorgang nicht erforderlich sind. Das folgende UNLOAD-Manifest enthält beispielsweise einen meta-Schlüssel, der von einer externen Amazon-Redshift-Spectrum-Tabelle und zum Laden von Dateien im Dateiformat ORC oder Parquet benötigt wird. Der meta-Schlüssel enthält einen content_length-Schlüssel mit einem Wert, der der tatsächlichen Größe der Datei in Bytes entspricht. Für den COPY Vorgang sind nur der url Schlüssel und ein optionaler mandatory Schlüssel erforderlich.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }}, {"url":"s3://amzn-s3-demo-bucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }} ] }

Weitere Informationen zu Manifestdateien finden Sie unter Example: COPY from Amazon S3 using a manifest.