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.
Daftar Isi
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
-
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).
-
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.
-
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.
-
Untuk Aurora My SQL version 2, setel parameter cluster
aurora_load_from_s3_role
atauaws_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.
-
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.
-
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
ataurole_name
SET 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
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
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 My SQL versi 2:
GRANT LOAD FROM S3 ON *.* TO '
user
'@'domain-or-ip-address
'
AWS_LOAD_S3_ACCESS
Peran 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
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 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 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
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi, pilih Bucket, lalu pilih bucket yang ingin URI Anda salin.
-
Pilih awalan atau file yang ingin Anda muat dari S3.
-
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 LOADDATAINFILE
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 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 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
- 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, 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://
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 nilaicolumn3
ditable1
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 |
---|---|
|
URIYang ditentukan dalam pernyataan beban. Ini URI dapat memetakan ke salah satu dari berikut ini:
|
|
Nama file yang dimuat ke Aurora dari Amazon S3 menggunakan yang diidentifikasi URI di lapangan. |
|
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 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 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 lebih lanjut tentang beberapa parameter ini di LOADXMLPernyataan
- 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, atauIGNORE 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 kolomtable_column2
ditable1
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 nilaicolumn3
ditable1
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.