Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memuat data ke klaster DB Amazon Aurora MySQL 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.
Daftar Isi
Memberi Aurora akses ke Amazon S3
Sebelum Anda dapat memuat data dari bucket Amazon S3, Anda harus terlebih dahulu memberi klaster DB Aurora MySQL Anda izin untuk mengakses Amazon S3.
Untuk memberi Aurora MySQL akses ke Amazon S3
-
Buat kebijakan AWS Identity and Access Management (IAM) yang menyediakan izin bucket dan objek yang memungkinkan klaster DB MySQL Aurora Anda mengakses Amazon S3. Untuk petunjuk, lihat Membuat kebijakan IAM untuk mengakses sumber daya Amazon S3.
catatan
Di Aurora MySQL versi 3.05 dan lebih tinggi, Anda dapat memuat objek yang dienkripsi menggunakan AWS KMS keys terkelola pelanggan. Untuk melakukannya, sertakan izin
kms:Decrypt
dalam kebijakan IAM 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 terkelola Amazon S3 (SSE-S3).
-
Buat peran IAM, lalu lampirkan kebijakan IAM yang Anda buat di Membuat kebijakan IAM untuk mengakses sumber daya Amazon S3 ke peran IAM baru. Untuk petunjuk, lihat Membuat peran IAM untuk mengizinkan Amazon Aurora mengakses layanan AWS.
-
Pastikan klaster DB menggunakan grup parameter klaster DB kustom.
Untuk informasi selengkapnya tentang membuat grup parameter klaster DB kustom, lihat Membuat grup parameter klaster DB.
-
Untuk Aurora MySQL versi 2, atur parameter klaster DB
aurora_load_from_s3_role
atauaws_default_s3_role
ke Amazon Resource Name (ARN) milik peran IAM yang baru. Jika peran IAM tidak ditentukan untukaurora_load_from_s3_role
, Aurora menggunakan peran IAM yang ditentukan dalamaws_default_s3_role
.Untuk Aurora MySQL 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 selengkapnya tentang parameter klaster DB, lihat Parameter klaster DB dan instans DB Amazon Aurora.
-
Untuk mengizinkan pengguna basis data dalam klaster DB Aurora MySQL untuk mengakses Amazon S3, kaitkan peran yang Anda buat di Membuat peran IAM untuk mengizinkan Amazon Aurora mengakses layanan AWS dengan klaster DB. Untuk basis data global Aurora, kaitkan peran dengan setiap klaster Aurora di basis data global. Untuk informasi tentang mengaitkan peran IAM dengan klaster DB, lihat Mengaitkan peran IAM dengan klaster DB Amazon Aurora MySQL.
-
Konfigurasikan klaster DB Aurora MySQL Anda untuk memungkinkan koneksi keluar ke Amazon S3. Untuk petunjuk, lihat Mengaktifkan komunikasi jaringan dari Amazon Aurora MySQL ke layanan AWS lainnya.
Jika klaster DB Anda tidak dapat diakses publik dan berada di subnet publik VPC, berarti klaster DB Anda bersifat privat. 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 akses untuk memuat data di Amazon Aurora MySQL
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 MySQL versi 3, Anda memberikan peran AWS_LOAD_S3_ACCESS
. Di Aurora MySQL versi 2, Anda memberikan hak akses 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 MySQL versi 3:
GRANT AWS_LOAD_S3_ACCESS TO '
user
'@'domain-or-ip-address
'
Tip
Saat Anda menggunakan teknik peran di Aurora MySQL versi 3, Anda juga dapat mengaktifkan peran dengan menggunakan pernyataan SET ROLE
atau role_name
SET ROLE
ALL
. Jika Anda tidak memahami sistem peran MySQL 8.0, Anda dapat mempelajari selengkapnya dalam Model hak akses berbasis peran. Untuk detail selengkapnya, lihat Menggunakan peran
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 selengkapnya, lihat SET ROLE statement
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
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 MySQL versi 2:
GRANT LOAD FROM S3 ON *.* TO '
user
'@'domain-or-ip-address
'
Peran AWS_LOAD_S3_ACCESS
dan hak akses LOAD FROM S3
dikhususkan untuk Amazon Aurora dan tidak tersedia untuk basis data MySQL eksternal atau instans DB RDS for MySQL. Jika Anda telah mengatur replikasi antara klaster DB Aurora sebagai master replikasi dan basis data MySQL sebagai klien replikasi, maka pernyataan GRANT
untuk peran atau hak akses menyebabkan replikasi berhenti dengan kesalahan. Anda dapat melewati kesalahan ini dengan aman untuk melanjutkan replikasi. Untuk melewati kesalahan pada instans RDS for MySQL, gunakan prosedur mysql_rds_skip_repl_error. Untuk melewati kesalahan pada basis data MySQL eksternal, gunakan variabel sistem slave_skip_errors
catatan
Pengguna database harus memiliki INSERT
hak istimewa untuk database di mana ia memuat data.
Menentukan jalur (URI) ke bucket Amazon S3
Sintaksis untuk menentukan jalur (URI) ke file yang tersimpan di bucket Amazon S3 adalah sebagai berikut.
s3
-region
://DOC-EXAMPLE-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 nilairegion
, 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 teks atau file XML Amazon S3, atau awalan yang mengidentifikasi satu atau beberapa file teks atau file XML 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 URI untuk file dalam bucket S3
-
Di panel navigasi, pilih Bucket, lalu pilih bucket yang URI-nya ingin Anda salin.
-
Pilih awalan atau file yang ingin Anda muat dari S3.
-
Pilih Salin URI S3.
LOAD DATA FROM S3
Anda dapat menggunakan pernyataan LOAD DATA FROM S3
untuk memuat data dari format file teks apa pun yang didukung oleh pernyataan LOAD DATA INFILE
catatan
Pastikan klaster DB Aurora MySQL Anda memungkinkan koneksi keluar ke S3. Untuk informasi selengkapnya, lihat Mengaktifkan komunikasi jaringan dari Amazon Aurora MySQL ke layanan AWS lainnya.
Sintaksis
LOAD DATA [FROM] S3 [FILE | PREFIX | MANIFEST] '
S3-URI
' [REPLACE | IGNORE] INTO TABLEtbl_name
[PARTITION (partition_name
,...)] [CHARACTER SETcharset_name
] [{FIELDS | COLUMNS} [TERMINATED BY 'string
'] [[OPTIONALLY] ENCLOSED BY 'char
'] [ESCAPED BY 'char
'] ] [LINES [STARTING BY 'string
'] [TERMINATED BY 'string
'] ] [IGNOREnumber
{LINES | ROWS}] [(col_name_or_user_var
,...)] [SETcol_name
=expr
,...]
catatan
Di Aurora MySQL versi 3.05 dan lebih tinggi, kata kunci FROM
bersifat opsional.
Parameter
Pernyataan LOAD DATA FROM S3
menggunakan parameter wajib dan opsional berikut. Anda dapat menemukan detail selengkapnya tentang beberapa parameter ini dalam LOAD DATA Statement
- 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 untuk teks atau file manifes yang akan dimuat, atau awalan Amazon S3 yang akan digunakan. Tentukan URI menggunakan sintaksis yang dijelaskan dalam Menentukan jalur (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
angka
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, atauIGNORE 2 ROWS
untuk melewati dua baris pertama data dalam file input. Jika Anda juga menggunakanPREFIX
,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 kolomtable_column2
ditable1
ke nilai input kolom kedua dibagi 100.LOAD DATA FROM S3 's3://
DOC-EXAMPLE-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 nilaicolumn3
ditable1
ke stempel waktu saat ini.LOAD DATA FROM S3 's3://
DOC-EXAMPLE-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 pernyataan LOAD DATA FROM S3
dengan kata kunci MANIFEST
untuk menentukan file manifes dalam format JSON yang mencantumkan file teks yang akan dimuat ke dalam tabel di klaster DB Anda.
Skema JSON berikut menjelaskan format dan konten 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" }
Setiap url
dalam manifes harus menentukan URL dengan nama bucket dan jalur 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 wilayah tidak ditentukan dalam URL, wilayah klaster DB Aurora target akan 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 klausa WHERE
untuk memfilter catatan di URI Amazon 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 |
---|---|
|
URI yang ditentukan dalam pernyataan pemuatan. URI ini dapat dipetakan ke salah satu hal berikut:
|
|
Nama file yang dimuat ke Aurora dari Amazon S3 menggunakan URI yang diidentifikasi dalam bidang |
|
Nomor versi file yang diidentifikasi oleh bidang |
|
Ukuran file yang dimuat, dalam byte. |
|
Stempel waktu saat pernyataan |
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 bucket DOC-EXAMPLE-BUCKET Amazon
S3, lalu memuat data ke dalam tabel. store-schema.customer-table
LOAD DATA FROM S3 's3://
DOC-EXAMPLE-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 employee-data
objek di bucket DOC-EXAMPLE-BUCKET Amazon S3
di wilayah tersebut, lalu memuat data ke us-west-2
dalam tabel. employees
LOAD DATA FROM S3 PREFIX 's3-us-west-2://
DOC-EXAMPLE-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 manifes JSON bernama q1_sales.json ke dalam tabel sales
.
LOAD DATA FROM S3 MANIFEST 's3-us-west-2://
DOC-EXAMPLE-BUCKET1
/q1_sales.json' INTO TABLE sales FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (MONTH, STORE, GROSS, NET);
LOAD XML FROM S3
Anda dapat menggunakan pernyataan LOAD XML FROM S3
untuk memuat data dari file XML yang tersimpan di bucket Amazon S3 dalam salah satu dari tiga format XML yang berbeda:
-
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 TABLEtbl_name
[PARTITION (partition_name,...)] [CHARACTER SET charset_name] [ROWS IDENTIFIED BY '<element-name>
'] [IGNOREnumber
{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 selengkapnya tentang beberapa parameter ini dalam LOAD XML Statement
- 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.
- ROWS IDENTIFIED BY
-
Mengidentifikasi nama elemen yang mengidentifikasi baris dalam file input. Default-nya adalah
<row>
. - IGNORE
angka
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, atauIGNORE 2 ROWS
untuk melewati dua baris pertama data dalam XML input. - field_name_or_user_var, ...
-
Menentukan daftar yang dipisahkan koma yang berisi satu atau beberapa nama elemen XML atau variabel pengguna yang mengidentifikasi elemen mana yang akan dimuat berdasarkan nama. Nama variabel pengguna yang digunakan untuk tujuan ini harus cocok dengan nama elemen dari file XML, 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 kolomtable_column2
ditable1
ke nilai input kolom kedua dibagi 100.LOAD XML FROM S3 's3://
DOC-EXAMPLE-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 nilaicolumn3
ditable1
ke stempel waktu saat ini.LOAD XML FROM S3 's3://
DOC-EXAMPLE-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.