Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3 - Layanan Basis Data Relasional Amazon

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

Prasyarat

Sebelum menggunakan fungsi aws_s3.query_export_to_s3, pastikan untuk melengkapi prasyarat berikut:

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 fungsi aws_commons.create_s3_uri sebaris dalam panggilan fungsi aws_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 _partXX. XX mewakili 2, lalu 3, dan seterusnya. Sebagai contoh, misalkan Anda menentukan jalur tempat Anda menyimpan file data sebagai berikut.

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 untuk menentukan format value (CSV) dipisahkan koma dan titik dua (:) pembatas.

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');