Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
COPY dengan TEMPLATE
Anda dapat menggunakan template Redshift dengan perintah COPY untuk menyederhanakan sintaks perintah dan memastikan konsistensi di seluruh operasi pemuatan data. Alih-alih menentukan parameter pemformatan yang sama berulang kali, Anda mendefinisikannya sekali dalam templat dan mereferensikan templat dalam perintah COPY Anda. Saat Anda menggunakan templat, perintah COPY menggabungkan parameter dari template dengan parameter apa pun yang ditentukan langsung dalam perintah. Jika parameter yang sama muncul di template dan perintah, parameter perintah diutamakan. Untuk informasi selengkapnya, lihat BUAT TEMPLATE.
Template untuk perintah COPY dapat dibuat dengan:
Untuk daftar lengkap parameter yang didukung, lihat MENYONTEK perintah.
Izin yang diperlukan
Untuk menggunakan template dalam perintah COPY, Anda harus memiliki:
-
Semua izin yang diperlukan untuk menjalankan perintah COPY (lihatIzin yang diperlukan)
-
Salah satu izin template berikut:
-
Hak istimewa pengguna super
-
Hak istimewa PENGGUNAAN pada template dan hak istimewa PENGGUNAAN pada skema yang berisi template
-
Sintaksis
COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;
Parameter
- database_name
-
(Opsional) Nama database tempat template ada. Jika tidak ditentukan, database saat ini digunakan.
- schema_name
-
(Opsional) Nama skema tempat template ada. Jika tidak ditentukan, template dicari di jalur pencarian saat ini.
- template_name
-
Nama template yang akan digunakan dalam COPY.
Catatan penggunaan
Parameter khusus perintah (sumber, tujuan, otorisasi) masih harus ditentukan dalam perintah COPY.
Template tidak dapat berisi spesifikasi file manifes untuk perintah COPY.
Contoh
Contoh berikut menunjukkan cara membuat template dan menggunakannya dalam perintah COPY:
CREATE TEMPLATE public.test_template FOR COPY AS CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100; COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' USING TEMPLATE public.test_template;
Ketika parameter ada di template dan perintah, parameter perintah diutamakan. Dalam contoh ini, jika template public.test_template berisi DELIMITER '|' tetapi perintah COPY menentukanDELIMITER ',', pembatas koma (,) dari perintah akan digunakan sebagai pengganti pembatas pipa () dari template. |
COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' DELIMITER ',' USING TEMPLATE public.test_template;