Memuat data ke dalam cluster Amazon Aurora My SQL DB dari file teks di bucket Amazon S3 - Amazon Aurora

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

Memuat data ke dalam cluster Amazon Aurora My SQL DB dari file teks di bucket Amazon S3

Anda dapat menggunakan pernyataan LOAD DATA FROM S3 atau LOAD XML FROM S3 untuk memuat data dari file yang tersimpan di bucket Amazon S3. Di Aurora MySQL, file pertama kali disimpan di disk lokal, dan kemudian diimpor ke database. Setelah impor ke database selesai, file lokal dihapus.

catatan

Memuat data ke dalam tabel dari file teks tidak didukung untuk Aurora Serverless v1. Hal ini didukung untuk Aurora Serverless v2.

Memberi Aurora akses ke Amazon S3

Sebelum Anda dapat memuat data dari bucket Amazon S3, Anda harus terlebih dahulu memberikan izin klaster Aurora My SQL DB Anda untuk mengakses Amazon S3.

Untuk memberi Aurora SQL akses Saya ke Amazon S3
  1. Buat kebijakan AWS Identity and Access Management (IAM) yang menyediakan izin bucket dan objek yang memungkinkan klaster Aurora SQL My DB Anda mengakses Amazon S3. Untuk petunjuk, silakan lihat Membuat IAM kebijakan untuk mengakses sumber daya Amazon S3.

    catatan

    Di Aurora My SQL versi 3.05 dan yang lebih tinggi, Anda dapat memuat objek yang dienkripsi menggunakan yang dikelola pelanggan. AWS KMS keys Untuk melakukannya, sertakan kms:Decrypt izin dalam IAM kebijakan Anda. Untuk informasi selengkapnya, lihat Membuat kebijakan IAM untuk mengakses sumber daya AWS KMS.

    Anda tidak memerlukan izin ini untuk memuat objek yang dienkripsi menggunakan Kunci yang dikelola AWS atau kunci SSE terkelola Amazon S3 (-S3).

  2. Buat IAM peran, dan lampirkan IAM kebijakan yang Anda buat Membuat IAM kebijakan untuk mengakses sumber daya Amazon S3 ke IAM peran baru. Untuk petunjuk, silakan lihat Membuat peran IAM untuk mengizinkan Amazon Aurora mengakses layanan AWS.

  3. Pastikan klaster DB menggunakan grup parameter klaster DB kustom.

    Untuk informasi selengkapnya tentang membuat grup parameter klaster DB kustom, lihat Membuat grup parameter cluster DB di Amazon Aurora.

  4. Untuk Aurora My SQL version 2, setel parameter cluster aurora_load_from_s3_role atau aws_default_s3_role DB ke Amazon Resource Name (ARN) dari peran baruIAM. Jika IAM peran tidak ditentukan untukaurora_load_from_s3_role, Aurora menggunakan IAM peran yang ditentukan dalam. aws_default_s3_role

    Untuk Aurora My SQL versi 3, gunakan. aws_default_s3_role

    Jika klaster adalah bagian dari basis data global Aurora, atur parameter ini untuk setiap klaster Aurora dalam basis data global. Meskipun hanya klaster primer dalam basis data global Aurora yang dapat memuat data, klaster lain mungkin dipromosikan oleh mekanisme failover dan menjadi klaster primer.

    Untuk informasi lebih lanjut tentang parameter klaster DB, lihat Parameter klaster DB dan instans DB Amazon Aurora.

  5. Untuk mengizinkan pengguna database di klaster Aurora My SQL DB mengakses Amazon S3, kaitkan peran yang Anda buat Membuat peran IAM untuk mengizinkan Amazon Aurora mengakses layanan AWS dengan cluster DB. Untuk basis data global Aurora, kaitkan peran dengan setiap klaster Aurora di basis data global. Untuk informasi tentang mengaitkan IAM peran dengan cluster DB, lihatMengaitkan peran IAM dengan klaster DB Amazon Aurora MySQL.

  6. Konfigurasikan klaster Aurora My SQL DB Anda untuk mengizinkan koneksi keluar ke Amazon S3. Untuk petunjuk, silakan lihat Mengaktifkan komunikasi jaringan dari Amazon Aurora ke layanan lain AWS.

    Jika cluster DB Anda tidak dapat diakses publik dan di subnet VPC publik, itu bersifat pribadi. Anda dapat membuat titik akhir gateway S3 untuk mengakses bucket S3 Anda. Untuk informasi selengkapnya, lihat Titik akhir gateway untuk Amazon S3.

    Untuk basis data global Aurora, aktifkan koneksi keluar untuk setiap klaster Aurora di basis data global.

Memberikan hak istimewa untuk memuat data di Amazon Aurora My SQL

Pengguna basis data yang mengeluarkan pernyataan LOAD XML FROM S3 atau LOAD DATA FROM S3 harus memiliki peran atau hak akses tertentu untuk mengeluarkan pernyataan. Di Aurora My SQL versi 3, Anda memberikan peran tersebut. AWS_LOAD_S3_ACCESS Di Aurora My SQL versi 2, Anda memberikan hak istimewa. LOAD FROM S3 Pengguna administratif untuk klaster DB akan diberi peran atau hak akses yang sesuai secara default. Anda dapat memberikan hak akses kepada pengguna lain dengan menggunakan salah satu pernyataan berikut.

Gunakan pernyataan berikut untuk Aurora My SQL versi 3:

GRANT AWS_LOAD_S3_ACCESS TO 'user'@'domain-or-ip-address'
Tip

Saat Anda menggunakan teknik peran di Aurora My SQL versi 3, Anda juga dapat mengaktifkan peran dengan menggunakan pernyataan SET ROLE role_name atauSET ROLE ALL. Jika Anda tidak terbiasa dengan sistem peran My SQL 8.0, Anda dapat mempelajari lebih lanjut diModel hak akses berbasis peran. Untuk detail selengkapnya, lihat Menggunakan peran di Manual SQL Referensi Saya.

Hal ini hanya berlaku untuk sesi aktif saat ini. Ketika Anda terhubung kembali, Anda harus menjalankan SET ROLE pernyataan lagi untuk memberikan hak istimewa. Untuk informasi lebih lanjut, lihat SETROLEpernyataan di Manual SQL Referensi Saya.

Anda dapat menggunakan parameter klaster DB activate_all_roles_on_login untuk mengaktifkan semua peran secara otomatis saat pengguna terhubung ke instans DB. Ketika parameter ini disetel, Anda biasanya tidak perlu memanggil SET ROLE pernyataan secara eksplisit untuk mengaktifkan peran. Untuk informasi selengkapnya, lihat activate_all_roles_on_login di Manual Referensi Saya. SQL

Namun, Anda harus memanggil secara SET ROLE ALL eksplisit di awal prosedur tersimpan untuk mengaktifkan peran, ketika prosedur yang disimpan dipanggil oleh pengguna yang berbeda.

Gunakan pernyataan berikut untuk Aurora My SQL versi 2:

GRANT LOAD FROM S3 ON *.* TO 'user'@'domain-or-ip-address'

AWS_LOAD_S3_ACCESSPeran dan LOAD FROM S3 hak istimewa khusus untuk Amazon Aurora dan tidak tersedia untuk database SQL Saya eksternal RDS atau untuk SQL instans DB Saya. Jika Anda telah menyiapkan replikasi antara cluster Aurora DB sebagai sumber replikasi dan database SQL Saya sebagai klien replikasi, maka GRANT pernyataan untuk peran atau hak istimewa menyebabkan replikasi berhenti dengan kesalahan. Anda dapat melewati kesalahan ini dengan aman untuk melanjutkan replikasi. Untuk melewati kesalahan pada SQL instance RDS Saya, gunakan prosedur mysql_rds_skip_repl_error. Untuk melewati kesalahan pada SQL database Saya eksternal, gunakan variabel sistem slave_skip_errors (Aurora My version 2) atau variabel sistem replica_skip_errors (Aurora SQL My version 3). SQL

catatan

Pengguna database harus memiliki INSERT hak istimewa untuk database di mana ia memuat data.

Menentukan path (URI) ke bucket Amazon S3

Sintaks untuk menentukan path (URI) ke file yang disimpan di bucket Amazon S3 adalah sebagai berikut.

s3-region://amzn-s3-demo-bucket/file-name-or-prefix

Jalur tersebut mencakup nilai-nilai berikut:

  • region(opsional) - AWS Wilayah yang berisi bucket Amazon S3 untuk dimuat. Nilai ini bersifat opsional. Jika Anda tidak menentukan nilai region, Aurora memuat file Anda dari Amazon S3 di wilayah yang sama dengan klaster DB Anda.

  • bucket-name – Nama bucket Amazon S3 yang berisi data yang akan dimuat. Awalan objek yang mengidentifikasi jalur folder virtual didukung.

  • file-name-or-prefix— Nama file atau XML file teks Amazon S3, atau awalan yang mengidentifikasi satu atau beberapa teks atau XML file yang akan dimuat. Anda juga dapat menentukan file manifes yang mengidentifikasi satu atau beberapa file teks yang akan dimuat. Untuk informasi selengkapnya tentang menggunakan file manifes untuk memuat file teks dari Amazon S3, lihat Menggunakan manifes untuk menentukan file data yang akan dimuat.

Untuk menyalin file URI for dalam bucket S3
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi, pilih Bucket, lalu pilih bucket yang ingin URI Anda salin.

  3. Pilih awalan atau file yang ingin Anda muat dari S3.

  4. Pilih Salin S3 URI.

LOADDATAFROMS3

Anda dapat menggunakan LOAD DATA FROM S3 pernyataan untuk memuat data dari format file teks apa pun yang didukung oleh SQL LOADDATAINFILEpernyataan Saya, seperti data teks yang dibatasi koma. file terkompresi tidak didukung.

catatan

Pastikan klaster Aurora My SQL DB Anda memungkinkan koneksi keluar ke S3. Untuk informasi selengkapnya, lihat Mengaktifkan komunikasi jaringan dari Amazon Aurora ke layanan lain AWS.

Sintaks

LOAD DATA [FROM] S3 [FILE | PREFIX | MANIFEST] 'S3-URI' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] [IGNORE number {LINES | ROWS}] [(col_name_or_user_var,...)] [SET col_name = expr,...]
catatan

Di Aurora My SQL versi 3.05 dan lebih tinggi, kata kunci FROM adalah opsional.

Parameter

Pernyataan LOAD DATA FROM S3 menggunakan parameter wajib dan opsional berikut. Anda dapat menemukan detail lebih lanjut tentang beberapa parameter ini di LOADDATAPernyataan di SQL dokumentasi Saya.

FILE | PREFIX | MANIFEST

Mengidentifikasi apakah akan memuat data dari satu file, dari semua file yang cocok dengan awalan tertentu, atau dari semua file dalam manifes yang ditentukan. FILE adalah opsi default.

S3- URI

Menentukan URI teks atau file manifes yang akan dimuat, atau awalan Amazon S3 yang akan digunakan. Tentukan URI menggunakan sintaks yang dijelaskan dalamMenentukan path (URI) ke bucket Amazon S3.

REPLACE | IGNORE

Menentukan tindakan yang harus diambil jika baris input memiliki nilai kunci unik yang sama dengan baris yang ada dalam tabel basis data.

  • Tentukan REPLACE jika Anda ingin baris input menggantikan baris yang ada dalam tabel.

  • Tentukan IGNORE jika Anda ingin membuang baris input.

INTO TABLE

Mengidentifikasi nama tabel basis data yang akan dimuati dengan baris input.

PARTITION

Mengharuskan semua baris input disisipkan ke partisi yang diidentifikasi oleh daftar nama partisi yang dipisahkan koma yang ditentukan. Jika baris input tidak dapat disisipkan ke salah satu partisi yang ditentukan, maka pernyataan ini akan gagal dan kesalahan akan ditampilkan.

CHARACTER SET

Mengidentifikasi kumpulan karakter data dalam file input.

FIELDS | COLUMNS

Mengidentifikasi cara bidang atau kolom dalam file input dibatasi. Bidang dibatasi tab secara default.

LINES

Mengidentifikasi cara baris dalam file input dibatasi. Baris dibatasi oleh karakter baris baru ('\n') secara default.

IGNORE number LINES | ROWS

Menentukan untuk mengabaikan jumlah tertentu baris di awal file input. Misalnya, Anda dapat menggunakan IGNORE 1 LINES untuk melewati baris header awal yang berisi nama kolom, atau IGNORE 2 ROWS untuk melewati dua baris pertama data dalam file input. Jika Anda juga menggunakan PREFIX, IGNORE akan melewati jumlah tertentu baris di awal file input pertama.

col_name_or_user_var, ...

– Menentukan daftar yang dipisahkan koma yang berisi satu atau beberapa nama kolom atau variabel pengguna yang mengidentifikasi kolom mana yang akan dimuat berdasarkan nama. Nama variabel pengguna yang digunakan untuk tujuan ini harus cocok dengan nama elemen dari file teks, yang diawali dengan @. Anda dapat menggunakan variabel pengguna untuk menyimpan nilai bidang terkait untuk digunakan kembali nanti.

Misalnya, pernyataan berikut memuat kolom pertama dari file input ke kolom pertama table1, dan menetapkan nilai kolom table_column2 di table1 ke nilai input kolom kedua dibagi 100.

LOAD DATA FROM S3 's3://amzn-s3-demo-bucket/data.txt' INTO TABLE table1 (column1, @var1) SET table_column2 = @var1/100;
SET

Menentukan daftar operasi penetapan yang dipisahkan koma yang mengatur nilai kolom dalam tabel ke nilai yang tidak disertakan dalam file input.

Misalnya, pernyataan berikut mengatur dua kolom pertama table1 ke nilai di dua kolom pertama dari file input, lalu mengatur nilai column3 di table1 ke stempel waktu saat ini.

LOAD DATA FROM S3 's3://amzn-s3-demo-bucket/data.txt' INTO TABLE table1 (column1, column2) SET column3 = CURRENT_TIMESTAMP;

Anda dapat menggunakan subkueri di sisi kanan penetapan SET. Untuk subkueri yang menampilkan nilai yang akan ditetapkan ke kolom, Anda hanya dapat menggunakan subkueri skalar. Selain itu, Anda tidak dapat menggunakan subkueri untuk memilih dari tabel yang sedang dimuat.

Anda tidak dapat menggunakan kata kunci LOCAL dari pernyataan LOAD DATA FROM S3 jika memuat data dari bucket Amazon S3.

Menggunakan manifes untuk menentukan file data yang akan dimuat

Anda dapat menggunakan LOAD DATA FROM S3 pernyataan dengan MANIFEST kata kunci untuk menentukan file manifes dalam JSON format yang mencantumkan file teks yang akan dimuat ke dalam tabel di cluster DB Anda.

JSONSkema berikut menjelaskan format dan isi file manifes.

{ "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": false, "definitions": {}, "id": "Aurora_LoadFromS3_Manifest", "properties": { "entries": { "additionalItems": false, "id": "/properties/entries", "items": { "additionalProperties": false, "id": "/properties/entries/items", "properties": { "mandatory": { "default": "false", "id": "/properties/entries/items/properties/mandatory", "type": "boolean" }, "url": { "id": "/properties/entries/items/properties/url", "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array", "uniqueItems": true } }, "required": [ "entries" ], "type": "object" }

Masing-masing url dalam manifes harus menentukan a URL dengan nama bucket dan path objek lengkap untuk file tersebut, bukan hanya awalan. Anda dapat menggunakan manifes untuk memuat file dari bucket yang berbeda-beda, wilayah yang berbeda-beda, atau file yang tidak memiliki awalan yang sama. Jika suatu wilayah tidak ditentukan dalamURL, wilayah cluster DB Aurora target digunakan. Contoh berikut menunjukkan file manifes yang memuat empat file dari bucket yang berbeda.

{ "entries": [ { "url":"s3://aurora-bucket/2013-10-04-customerdata", "mandatory":true }, { "url":"s3-us-west-2://aurora-bucket-usw2/2013-10-05-customerdata", "mandatory":true }, { "url":"s3://aurora-bucket/2013-10-04-customerdata", "mandatory":false }, { "url":"s3://aurora-bucket/2013-10-05-customerdata" } ] }

Flag mandatory opsional menentukan apakah LOAD DATA FROM S3 harus menampilkan kesalahan jika file tidak ditemukan. Flag mandatory diatur secara default ke false. Terlepas dari cara mandatory diatur, LOAD DATA FROM S3 akan diterminasi jika tidak ada file yang ditemukan.

File manifes dapat memiliki ekstensi. Contoh berikut menjalankan pernyataan LOAD DATA FROM S3 dengan manifes di contoh sebelumnya, yang bernama customer.manifest.

LOAD DATA FROM S3 MANIFEST 's3-us-west-2://aurora-bucket/customer.manifest' INTO TABLE CUSTOMER FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (ID, FIRSTNAME, LASTNAME, EMAIL);

Setelah pernyataan selesai, entri untuk setiap file yang berhasil dimuat akan ditulis ke tabel aurora_s3_load_history.

Memverifikasi file yang dimuat menggunakan tabel aurora_s3_load_history

Setiap pernyataan LOAD DATA FROM S3 yang berhasil akan memperbarui tabel aurora_s3_load_history dalam skema mysql dengan entri untuk setiap file yang dimuat.

Setelah Anda menjalankan pernyataan LOAD DATA FROM S3, Anda dapat memverifikasi file mana yang dimuat dengan mengueri tabel aurora_s3_load_history. Untuk melihat file yang dimuat dari satu iterasi pernyataan, gunakan WHERE klausa untuk memfilter catatan di Amazon URI S3 untuk file manifes yang digunakan dalam pernyataan. Jika Anda telah menggunakan file manifes yang sama sebelumnya, filter hasilnya menggunakan bidang timestamp.

select * from mysql.aurora_s3_load_history where load_prefix = 'S3_URI';

Tabel berikut menjelaskan bidang dalam tabel aurora_s3_load_history.

Bidang Deskripsi

load_prefix

URIYang ditentukan dalam pernyataan beban. Ini URI dapat memetakan ke salah satu dari berikut ini:

  • File data tunggal untuk pernyataan LOAD DATA FROM S3 FILE

  • Awalan Amazon S3 yang dipetakan ke beberapa file data untuk pernyataan LOAD DATA FROM S3 PREFIX

  • File manifes tunggal yang berisi nama file yang akan dimuat untuk pernyataan LOAD DATA FROM S3 MANIFEST

file_name

Nama file yang dimuat ke Aurora dari Amazon S3 menggunakan yang diidentifikasi URI di lapangan. load_prefix

version_number

Nomor versi file yang diidentifikasi oleh bidang file_name yang dimuat, jika bucket Amazon S3 memiliki nomor versi.

bytes_loaded

Ukuran file yang dimuat, dalam byte.

load_timestamp

Stempel waktu saat pernyataan LOAD DATA FROM S3 selesai.

Contoh

Pernyataan berikut memuat data dari bucket Amazon S3 yang berada di wilayah yang sama dengan klaster DB Aurora. Pernyataan tersebut membaca data yang dibatasi koma dalam file customerdata.txt yang ada di amzn-s3-demo-bucket Bucket Amazon S3, lalu memuat data ke dalam tabel. store-schema.customer-table

LOAD DATA FROM S3 's3://amzn-s3-demo-bucket/customerdata.csv' INTO TABLE store-schema.customer-table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (ID, FIRSTNAME, LASTNAME, ADDRESS, EMAIL, PHONE);

Pernyataan berikut memuat data dari bucket Amazon S3 yang berada di wilayah yang berbeda dari klaster DB Aurora. Pernyataan tersebut membaca data yang dibatasi koma dari semua file yang cocok dengan awalan objek di employee-data amzn-s3-demo-bucket Amazon S3 bucket di us-west-2 wilayah tersebut, lalu memuat data ke dalam tabel. employees

LOAD DATA FROM S3 PREFIX 's3-us-west-2://amzn-s3-demo-bucket/employee_data' INTO TABLE employees FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (ID, FIRSTNAME, LASTNAME, EMAIL, SALARY);

Pernyataan berikut memuat data dari file yang ditentukan dalam file JSON manifes bernama q1_sales.json ke dalam tabel. sales

LOAD DATA FROM S3 MANIFEST 's3-us-west-2://amzn-s3-demo-bucket1/q1_sales.json' INTO TABLE sales FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (MONTH, STORE, GROSS, NET);

LOADXMLFROMS3

Anda dapat menggunakan LOAD XML FROM S3 pernyataan untuk memuat data dari XML file yang disimpan di bucket Amazon S3 dalam salah satu dari tiga format berbedaXML:

  • Nama kolom sebagai atribut elemen <row>. Nilai atribut mengidentifikasi konten bidang tabel.

    <row column1="value1" column2="value2" .../>
  • Nama kolom sebagai elemen turunan dari elemen <row>. Nilai elemen turunan mengidentifikasi konten bidang tabel.

    <row> <column1>value1</column1> <column2>value2</column2> </row>
  • Nama kolom di atribut name dari elemen <field> dalam elemen <row>. Nilai elemen <field> mengidentifikasi konten bidang tabel.

    <row> <field name='column1'>value1</field> <field name='column2'>value2</field> </row>

Sintaksis

LOAD XML FROM S3 'S3-URI' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SET charset_name] [ROWS IDENTIFIED BY '<element-name>'] [IGNORE number {LINES | ROWS}] [(field_name_or_user_var,...)] [SET col_name = expr,...]

Parameter

Pernyataan LOAD XML FROM S3 menggunakan parameter wajib dan opsional berikut. Anda dapat menemukan detail lebih lanjut tentang beberapa parameter ini di LOADXMLPernyataan di SQL dokumentasi Saya.

FILE | PREFIX

Mengidentifikasi apakah akan memuat data dari satu file, atau dari semua file yang cocok dengan awalan yang diberikan. FILE adalah opsi default.

REPLACE | IGNORE

Menentukan tindakan yang harus diambil jika baris input memiliki nilai kunci unik yang sama dengan baris yang ada dalam tabel basis data.

  • Tentukan REPLACE jika Anda ingin baris input menggantikan baris yang ada dalam tabel.

  • Tentukan IGNORE jika Anda ingin membuang baris input. IGNORE adalah opsi default.

INTO TABLE

Mengidentifikasi nama tabel basis data yang akan dimuati dengan baris input.

PARTITION

Mengharuskan semua baris input disisipkan ke partisi yang diidentifikasi oleh daftar nama partisi yang dipisahkan koma yang ditentukan. Jika baris input tidak dapat disisipkan ke salah satu partisi yang ditentukan, maka pernyataan ini akan gagal dan kesalahan akan ditampilkan.

CHARACTER SET

Mengidentifikasi kumpulan karakter data dalam file input.

ROWSIDENTIFIEDOLEH

Mengidentifikasi nama elemen yang mengidentifikasi baris dalam file input. Default-nya adalah <row>.

IGNORE number LINES | ROWS

Menentukan untuk mengabaikan jumlah tertentu baris di awal file input. Misalnya, Anda dapat menggunakan IGNORE 1 LINES untuk melewati baris pertama dalam file teks, atau IGNORE 2 ROWS untuk melewati dua baris pertama data dalam inputXML.

field_name_or_user_var, ...

Menentukan daftar dipisahkan koma dari satu atau lebih nama XML elemen atau variabel pengguna yang mengidentifikasi elemen untuk memuat dengan nama. Nama variabel pengguna yang digunakan untuk tujuan ini harus sesuai dengan nama elemen dari XML file, diawali dengan @. Anda dapat menggunakan variabel pengguna untuk menyimpan nilai bidang terkait untuk digunakan kembali nanti.

Misalnya, pernyataan berikut memuat kolom pertama dari file input ke kolom pertama table1, dan menetapkan nilai kolom table_column2 di table1 ke nilai input kolom kedua dibagi 100.

LOAD XML FROM S3 's3://amzn-s3-demo-bucket/data.xml' INTO TABLE table1 (column1, @var1) SET table_column2 = @var1/100;
SET

Menentukan daftar operasi penetapan yang dipisahkan koma yang mengatur nilai kolom dalam tabel ke nilai yang tidak disertakan dalam file input.

Misalnya, pernyataan berikut mengatur dua kolom pertama table1 ke nilai di dua kolom pertama dari file input, lalu mengatur nilai column3 di table1 ke stempel waktu saat ini.

LOAD XML FROM S3 's3://amzn-s3-demo-bucket/data.xml' INTO TABLE table1 (column1, column2) SET column3 = CURRENT_TIMESTAMP;

Anda dapat menggunakan subkueri di sisi kanan penetapan SET. Untuk subkueri yang menampilkan nilai yang akan ditetapkan ke kolom, Anda hanya dapat menggunakan subkueri skalar. Selain itu, Anda tidak dapat menggunakan subkueri untuk memilih dari tabel yang sedang dimuat.