Menggunakan manifes untuk menentukan file data - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan manifes untuk menentukan file data

Anda dapat menggunakan manifes untuk memastikan bahwa COPY perintah memuat semua file yang diperlukan, dan hanya file yang diperlukan, untuk memuat data. Anda dapat menggunakan manifes untuk memuat file dari bucket atau file yang berbeda yang tidak memiliki awalan yang sama. Alih-alih menyediakan jalur objek untuk COPY perintah, Anda memberikan nama file teks JSON berformat -yang secara eksplisit mencantumkan file yang akan dimuat. URLDalam manifes harus menentukan nama bucket dan path objek lengkap untuk file, bukan hanya awalan.

Untuk informasi selengkapnya tentang file manifes, lihat COPY contoh Menggunakan manifes untuk menentukan file data.

Contoh berikut menunjukkan JSON untuk memuat file dari bucket yang berbeda dan dengan nama file yang dimulai dengan stempel tanggal.

{ "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} ] }

mandatoryBendera opsional menentukan apakah COPY harus mengembalikan kesalahan jika file tidak ditemukan. Default dari mandatory adalahfalse. Terlepas dari pengaturan wajib, COPY akan berakhir jika tidak ada file yang ditemukan.

Contoh berikut menjalankan COPY perintah dengan manifes dalam contoh sebelumnya, yang dinamaicust.manifest.

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

Menggunakan manifes yang dibuat oleh UNLOAD

Manifes yang dibuat oleh UNLOAD operasi menggunakan MANIFEST parameter mungkin memiliki kunci yang tidak diperlukan untuk COPY operasi. Misalnya, UNLOAD manifes berikut menyertakan meta kunci yang diperlukan untuk tabel eksternal Amazon Redshift Spectrum dan untuk memuat file data dalam format ORC file Parquet atau. metaKunci berisi content_length kunci dengan nilai yang merupakan ukuran sebenarnya dari file dalam byte. COPYOperasi hanya membutuhkan url kunci dan kunci opsionalmandatory.

{ "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 }} ] }

Untuk informasi selengkapnya tentang file manifes, lihatExample: COPY from Amazon S3 using a manifest.