Opsi pemetaan kolom - Amazon Redshift

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

Opsi pemetaan kolom

Secara default, COPY menyisipkan nilai ke kolom tabel target dalam urutan yang sama seperti bidang terjadi dalam file data. Jika urutan kolom default tidak akan berfungsi, Anda dapat menentukan daftar kolom atau menggunakan JSONPath ekspresi untuk memetakan bidang data sumber ke kolom target.

Daftar kolom

Anda dapat menentukan daftar nama kolom yang dipisahkan koma untuk memuat bidang data sumber ke kolom target tertentu. Kolom dapat dalam urutan apa pun dalam COPY pernyataan, tetapi saat memuat dari file datar, seperti di ember Amazon S3, urutannya harus sesuai dengan urutan data sumber.

Saat memuat dari tabel Amazon DynamoDB, pesanan tidak masalah. COPYPerintah mencocokkan nama atribut dalam item yang diambil dari tabel DynamoDB ke nama kolom di tabel Amazon Redshift. Untuk informasi selengkapnya, silakan lihat Memuat data dari tabel Amazon DynamoDB

Format untuk daftar kolom adalah sebagai berikut.

COPY tablename (column1 [,column2, ...])

Jika kolom dalam tabel target dihilangkan dari daftar kolom, kemudian COPY memuat ekspresi kolom targetDEFAULT.

Jika kolom target tidak memiliki default, maka COPY coba muatNULL.

Jika COPY mencoba untuk menetapkan NULL ke kolom yang didefinisikan sebagai NOTNULL, COPY perintah gagal.

Jika IDENTITY kolom disertakan dalam daftar kolom, maka EXPLICIT_IDS harus juga ditentukan; jika IDENTITY kolom dihilangkan, maka EXPLICIT _ tidak IDS dapat ditentukan. Jika tidak ada daftar kolom yang ditentukan, perintah berperilaku seolah-olah daftar kolom lengkap dalam urutan ditentukan, dengan IDENTITY kolom dihilangkan jika EXPLICIT _ juga IDS tidak ditentukan.

Jika kolom didefinisikan dengan GENERATED BY DEFAULT ASIDENTITY, maka itu dapat disalin. Nilai dihasilkan atau diperbarui dengan nilai yang Anda berikan. IDSOpsi EXPLICIT _ tidak diperlukan. COPYtidak memperbarui tanda air identitas tinggi. Untuk informasi selengkapnya, lihat GENERATED BY DEFAULT AS IDENTITY.

JSONPathsberkas

Saat memuat dari file data dalam JSON atau format Avro, COPY secara otomatis memetakan elemen data dalam JSON atau data sumber Avro ke kolom di tabel target. Ia melakukannya dengan mencocokkan nama bidang dalam skema Avro dengan nama kolom di tabel target atau daftar kolom.

Dalam beberapa kasus, nama kolom dan nama bidang Anda tidak cocok, atau Anda perlu memetakan ke tingkat yang lebih dalam dalam hierarki data. Dalam kasus ini, Anda dapat menggunakan JSONPaths file untuk secara eksplisit memetakan JSON atau elemen data Avro ke kolom.

Untuk informasi selengkapnya, lihat JSONPathsberkas.