Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3
Ekspor SQL data Postgre Anda ke Amazon S3 dengan memanggil fungsi. aws_s3.query_export_to_s3
Topik
Prasyarat
Sebelum menggunakan fungsi aws_s3.query_export_to_s3
, pastikan untuk melengkapi prasyarat berikut:
-
Instal SQL ekstensi Postgre yang diperlukan seperti yang dijelaskan dalam. Ikhtisar ekspor data ke Amazon S3
-
Tentukan tempat untuk mengekspor data Anda ke Amazon S3 seperti yang dijelaskan di Menentukan jalur file Amazon S3 tujuan ekspor.
-
Pastikan bahwa instans DB memiliki akses ekspor ke Amazon S3 seperti yang dijelaskan di Menyiapkan akses ke bucket Amazon S3.
Contoh berikut menggunakan tabel basis data yang disebut sample_table
. Contoh-contoh ini mengekspor data ke dalam ember yang disebut amzn-s3-demo-bucket
. Contoh tabel dan data dibuat dengan SQL pernyataan berikut di psql.
psql=> CREATE TABLE sample_table (bid bigint PRIMARY KEY, name varchar(80)); psql=> INSERT INTO sample_table (bid,name) VALUES (1, 'Monday'), (2,'Tuesday'), (3, 'Wednesday');
Memanggil aws_s3.query_export_to_s3
Berikut ini adalah cara-cara dasar untuk memanggil fungsi aws_s3.query_export_to_s3.
Contoh ini menggunakan variabel s3_uri_1
untuk mengidentifikasi struktur berisi informasi yang mengidentifikasi file Amazon S3. Gunakan fungsi aws_commons.create_s3_uri untuk membuat struktur.
psql=> SELECT aws_commons.create_s3_uri( '
amzn-s3-demo-bucket
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Meskipun parameter bervariasi untuk dua panggilan fungsi aws_s3.query_export_to_s3
berikut, hasilnya sama untuk contoh ini. Semua baris sample_table
tabel diekspor ke ember yang disebut amzn-s3-demo-bucket
.
psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1'); psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1', options :='format text');
Parameternya dijelaskan sebagai berikut:
-
'SELECT * FROM sample_table'
— Parameter pertama adalah string teks yang diperlukan yang berisi SQL kueri. SQLMesin Postgre menjalankan kueri ini. Hasil kueri disalin ke bucket S3 yang diidentifikasi dalam parameter lain. -
:'s3_uri_1'
– Parameter ini adalah struktur yang mengidentifikasi file Amazon S3. Contoh ini menggunakan variabel untuk mengidentifikasi struktur yang dibuat sebelumnya. Anda dapat membuat struktur dengan menyertakan baris panggilan fungsiaws_commons.create_s3_uri
sebaris dalam panggilan fungsiaws_s3.query_export_to_s3
sebagai berikut.SELECT * from aws_s3.query_export_to_s3('select * from sample_table', aws_commons.create_s3_uri('
amzn-s3-demo-bucket
', 'sample-filepath', 'us-west-2') ); -
options :='format text'
—options
Parameter adalah string teks opsional yang berisi argumen Postgre SQLCOPY
. Proses penyalinan menggunakan argumen dan format perintah Postgre SQL COPY.
Jika file yang ditentukan tidak ada dalam bucket Amazon S3, file tersebut akan dibuat. Jika file sudah ada, file tersebut akan ditimpa. Sintaks untuk mengakses data yang diekspor di Amazon S3 adalah sebagai berikut.
s3-
region
://bucket-name
[/path-prefix
]/file-prefix
Ekspor yang lebih besar disimpan dalam beberapa file, masing-masing berukuran maksimum sekitar 6 GB. Nama file tambahan memiliki awalan file yang sama, tetapi dengan penambahan _part
. XX
mewakili 2, lalu 3, dan seterusnya. Sebagai contoh, misalkan Anda menentukan jalur tempat Anda menyimpan file data sebagai berikut.XX
s3-us-west-2://
amzn-s3-demo-bucket
/my-prefix
Jika ekspor harus membuat tiga file data, bucket Amazon S3 berisi file data berikut.
s3-us-west-2://
amzn-s3-demo-bucket
/my-prefix s3-us-west-2://amzn-s3-demo-bucket
/my-prefix_part2 s3-us-west-2://amzn-s3-demo-bucket
/my-prefix_part3
Untuk referensi selengkapnya tentang fungsi ini dan cara lain untuk memanggilnya, lihat aws_s3.query_export_to_s3. Untuk informasi selengkapnya tentang cara mengakses file di Amazon S3, buka Melihat objek dalam Panduan Pengguna Amazon Simple Storage Service.
Mengekspor ke CSV file yang menggunakan pembatas khusus
Contoh berikut menunjukkan cara memanggil fungsi aws_s3.query_export_to_s3 untuk mengekspor data ke file yang menggunakan pembatas kustom. Contoh menggunakan argumen dari SQL COPY perintah Postgre
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format csv, delimiter $$:$$');
Mengekspor ke file biner dengan pengodean
Contoh berikut menunjukkan cara memanggil fungsi aws_s3.query_export_to_s3 untuk mengekspor data ke file biner yang memiliki pengodean Windows-1253.
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format binary, encoding WIN1253');