Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CREATE EXTERNAL TABLE
Membuat tabel eksternal baru dalam skema yang ditentukan. Semua tabel eksternal harus dibuat dalam skema eksternal. Jalur pencarian tidak didukung untuk skema eksternal dan tabel eksternal. Untuk informasi selengkapnya, lihat BUAT SKEMA EKSTERNAL.
Selain tabel eksternal yang dibuat menggunakan perintah CREATE EXTERNAL TABLE, Amazon Redshift dapat mereferensikan tabel eksternal yang ditentukan dalam AWS Lake Formation katalog AWS Glue atau metastore Apache Hive. Gunakan BUAT SKEMA EKSTERNAL perintah untuk mendaftarkan database eksternal yang ditentukan dalam katalog eksternal dan membuat tabel eksternal tersedia untuk digunakan di Amazon Redshift. Jika tabel eksternal ada di AWS Lake Formation katalog AWS Glue atau metastore Hive, Anda tidak perlu membuat tabel menggunakan CREATE EXTERNAL TABLE. Untuk melihat tabel eksternal, kueri SVV_EXTERNAL_TABLES tampilan sistem.
Dengan menjalankan perintah CREATE EXTERNAL TABLE AS, Anda dapat membuat tabel eksternal berdasarkan definisi kolom dari kueri dan menulis hasil kueri tersebut ke Amazon S3. Hasilnya dalam format Apache Parquet atau teks terbatas. Jika tabel eksternal memiliki kunci partisi atau kunci, Amazon Redshift mempartisi file baru sesuai dengan kunci partisi tersebut dan mendaftarkan partisi baru ke katalog eksternal secara otomatis. Untuk informasi selengkapnya tentang MEMBUAT TABEL EKSTERNAL SEBAGAI, lihatCatatan penggunaan.
Anda dapat menanyakan tabel eksternal menggunakan sintaks SELECT yang sama yang Anda gunakan dengan tabel Amazon Redshift lainnya. Anda juga dapat menggunakan sintaks INSERT untuk menulis file baru ke lokasi tabel eksternal di Amazon S3. Untuk informasi selengkapnya, lihat INSERT (tabel eksternal).
Untuk membuat tampilan dengan tabel eksternal, sertakan klausa WITH NO SCHEMA BINDING dalam CREATE VIEW pernyataan.
Anda tidak dapat menjalankan CREATE EXTERNAL TABLE di dalam transaksi (BEGIN... END). Untuk informasi lebih lanjut tentang transaksi, lihatTingkat isolasi di Amazon Redshift.
Hak istimewa yang diperlukan
Untuk membuat tabel eksternal, Anda harus menjadi pemilik skema eksternal atau superuser. Untuk mentransfer kepemilikan skema eksternal, gunakan ALTER SCHEMA untuk mengubah pemilik. Akses ke tabel eksternal dikendalikan oleh akses ke skema eksternal. Anda tidak dapat HIBAH atau MENCABUT izin pada tabel eksternal. Sebagai gantinya, berikan atau cabut PENGGUNAAN pada skema eksternal.
Memiliki Catatan penggunaan informasi tambahan tentang izin khusus untuk tabel eksternal.
Sintaksis
CREATE EXTERNAL TABLE external_schema.table_name (column_name data_type [, …] ) [ PARTITIONED BY (col_name data_type [, … ] )] [ { ROW FORMAT DELIMITED row_format | ROW FORMAT SERDE 'serde_name' [ WITH SERDEPROPERTIES ( 'property_name' = 'property_value' [, ...] ) ] } ] STORED AS file_format LOCATION { 's3://bucket/folder/' | 's3://bucket/manifest_file' } [ TABLE PROPERTIES ( 'property_name'='property_value' [, ...] ) ]
Berikut ini adalah sintaks untuk CREATE EXTERNAL TABLE AS.
CREATE EXTERNAL TABLE external_schema.table_name [ PARTITIONED BY (col_name [, … ] ) ] [ ROW FORMAT DELIMITED row_format ] STORED AS file_format LOCATION { 's3://bucket/folder/' } [ TABLE PROPERTIES ( 'property_name'='property_value' [, ...] ) ] AS { select_statement }
Parameter
- nama_tabel skema eksternal_
-
Nama tabel yang akan dibuat, memenuhi syarat dengan nama skema eksternal. Tabel eksternal harus dibuat dalam skema eksternal. Untuk informasi selengkapnya, lihat BUAT SKEMA EKSTERNAL.
Panjang maksimum untuk nama tabel adalah 127 byte; nama yang lebih panjang dipotong menjadi 127 byte. Anda dapat menggunakan karakter UTF-8 multibyte hingga maksimal empat byte. Amazon Redshift memberlakukan batas 9.900 tabel per cluster, termasuk tabel sementara yang ditentukan pengguna dan tabel sementara yang dibuat oleh Amazon Redshift selama pemrosesan kueri atau pemeliharaan sistem. Secara opsional, Anda dapat memenuhi syarat nama tabel dengan nama database. Dalam contoh berikut, nama database adalah
spectrum_db, nama skema eksternal adalahspectrum_schema, dan nama tabel adalahtest.create external table spectrum_db.spectrum_schema.test (c1 int) stored as parquet location 's3://amzn-s3-demo-bucket/myfolder/';Jika database atau skema yang ditentukan tidak ada, tabel tidak dibuat, dan pernyataan mengembalikan kesalahan. Anda tidak dapat membuat tabel atau tampilan di database sistem
template0,template1,padb_harvest, atausys:internal.Nama tabel harus berupa nama unik untuk skema yang ditentukan.
Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.
- (tipe_ data nama_kolom )
-
Nama dan tipe data dari setiap kolom yang dibuat.
Panjang maksimum untuk nama kolom adalah 127 byte; nama yang lebih panjang dipotong menjadi 127 byte. Anda dapat menggunakan karakter UTF-8 multibyte hingga maksimal empat byte. Anda tidak dapat menentukan nama kolom
"$path"atau"$size". Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.Secara default, Amazon Redshift membuat tabel eksternal dengan pseudocolumn dan
$path.$sizeAnda dapat menonaktifkan pembuatan pseudocolumn untuk sesi dengan menyetel parameterspectrum_enable_pseudo_columnskonfigurasi kefalse. Untuk informasi selengkapnya, lihat Pseudokolom.Jika pseudocolumn diaktifkan, jumlah maksimum kolom yang dapat Anda tentukan dalam satu tabel adalah 1.598. Jika pseudocolumn tidak diaktifkan, jumlah maksimum kolom yang dapat Anda tentukan dalam satu tabel adalah 1.600.
Jika Anda membuat “tabel lebar”, pastikan daftar kolom Anda tidak melebihi batas lebar baris untuk hasil perantara selama pemuatan dan pemrosesan kueri. Untuk informasi selengkapnya, lihat Catatan penggunaan.
Untuk perintah CREATE EXTERNAL TABLE AS, daftar kolom tidak diperlukan, karena kolom diturunkan dari query.
- tipe_data
-
Jenis Data berikut didukung:
-
SMALL (INT2)
-
BILANGAN BULAT (INT, INT4)
-
BIG (INT8)
-
DESIMAL (NUMERIK)
-
NYATA (FLOAT4)
-
PRESISI GANDA (FLOAT8)
-
BOOLEAN (BOOL)
-
CHAR (KARAKTER)
-
VARCHAR (KARAKTER BERVARIASI)
-
VARBYTE (CHARACTER VARIING) - dapat digunakan dengan file data Parquet dan ORC, dan hanya dengan tabel yang tidak dipartisi.
-
TANGGAL - hanya dapat digunakan dengan teks, parket, atau file data ORC, atau sebagai kolom partisi.
-
TIMESTAMP
Untuk DATE, Anda dapat menggunakan format seperti yang dijelaskan berikut. Untuk nilai bulan yang diwakili menggunakan digit, format berikut didukung:
-
mm-dd-yyyyMisalnya,05-01-2017. Ini adalah opsi default. -
yyyy-mm-dd, di mana tahun diwakili oleh lebih dari 2 digit. Misalnya,2017-05-01.
Untuk nilai bulan yang diwakili menggunakan singkatan tiga huruf, format berikut didukung:
-
mmm-dd-yyyyMisalnya,may-01-2017. Ini adalah opsi default. -
dd-mmm-yyyy, di mana tahun diwakili oleh lebih dari 2 digit. Misalnya,01-may-2017. -
yyyy-mmm-dd, di mana tahun diwakili oleh lebih dari 2 digit. Misalnya,2017-may-01.
Untuk nilai tahun yang secara konsisten kurang dari 100, tahun dihitung dengan cara berikut:
-
Jika tahun kurang dari 70, tahun dihitung sebagai tahun ditambah 2000. Misalnya, tanggal 05-01-17 dalam
mm-dd-yyyyformat diubah menjadi.05-01-2017 -
Jika tahun kurang dari 100 dan lebih besar dari 69, tahun dihitung sebagai tahun ditambah 1900. Misalnya tanggal 05-01-89 dalam
mm-dd-yyyyformat diubah menjadi.05-01-1989 -
Untuk nilai tahun yang diwakili oleh dua digit, tambahkan nol di depan untuk mewakili tahun dalam 4 digit.
Nilai stempel waktu dalam file teks harus dalam format
yyyy-mm-dd HH:mm:ss.SSSSSS, seperti yang ditunjukkan nilai stempel waktu berikut:.2017-05-01 11:30:59.000000Panjang kolom VARCHAR didefinisikan dalam byte, bukan karakter. Misalnya, kolom VARCHAR (12) dapat berisi 12 karakter byte tunggal atau 6 karakter dua byte. Saat Anda menanyakan tabel eksternal, hasil dipotong agar sesuai dengan ukuran kolom yang ditentukan tanpa mengembalikan kesalahan. Untuk informasi selengkapnya, lihat Penyimpanan dan rentang.
Untuk kinerja terbaik, sebaiknya tentukan ukuran kolom terkecil yang sesuai dengan data Anda. Untuk menemukan ukuran maksimum dalam byte untuk nilai dalam kolom, gunakan fungsi OCTET_ LENGTH. Contoh berikut mengembalikan ukuran maksimum nilai di kolom email.
select max(octet_length(email)) from users;max --- 62 -
- DIPARTISI OLEH (col_name data_type [,...])
-
Klausa yang mendefinisikan tabel yang dipartisi dengan satu atau lebih kolom partisi. Direktori data terpisah digunakan untuk setiap kombinasi yang ditentukan, yang dapat meningkatkan kinerja kueri dalam beberapa keadaan. Kolom yang dipartisi tidak ada dalam data tabel itu sendiri. Jika Anda menggunakan nilai untuk col_name yang sama dengan kolom tabel, Anda mendapatkan kesalahan.
Setelah membuat tabel yang dipartisi, ubah tabel menggunakan pernyataanALTER TABLE... ADD PARTITION untuk mendaftarkan partisi baru ke katalog eksternal. Saat menambahkan partisi, Anda menentukan lokasi subfolder di Amazon S3 yang berisi data partisi.
Misalnya, jika tabel
spectrum.lineitem_partdidefinisikan denganPARTITIONED BY (l_shipdate date), jalankan perintah ALTER TABLE berikut untuk menambahkan partisi.ALTER TABLE spectrum.lineitem_part ADD PARTITION (l_shipdate='1992-01-29') LOCATION 's3://spectrum-public/lineitem_partition/l_shipdate=1992-01-29';Jika Anda menggunakan CREATE EXTERNAL TABLE AS, Anda tidak perlu menjalankan ALTER TABLE... ADD PARTITION. Amazon Redshift secara otomatis mendaftarkan partisi baru di katalog eksternal. Amazon Redshift juga secara otomatis menulis data yang sesuai ke partisi di Amazon S3 berdasarkan kunci partisi atau kunci yang ditentukan dalam tabel.
Untuk melihat partisi, kueri SVV_EXTERNAL_PARTITIONS tampilan sistem.
catatan
Untuk perintah CREATE EXTERNAL TABLE AS, Anda tidak perlu menentukan tipe data kolom partisi karena kolom ini berasal dari kueri.
- FORMAT BARIS DIBATASI Format baris
-
Sebuah klausa yang menentukan format data yang mendasarinya. Nilai yang mungkin untuk rowformat adalah sebagai berikut:
-
GARIS DIAKHIRI OLEH 'pembatas'
-
BIDANG DIAKHIRI OLEH 'pembatas'
Tentukan karakter ASCII tunggal untuk 'pembatas'. Anda dapat menentukan karakter ASCII yang tidak dicetak menggunakan oktal, dalam format di
'\ddd'manadadalah digit oktal (0—7) hingga '\ 177'. Contoh berikut menentukan karakter BEL (bel) menggunakan oktal.ROW FORMAT DELIMITED FIELDS TERMINATED BY '\007'Jika ROW FORMAT dihilangkan, format defaultnya adalah DELIMITED FIELDS TERMINATED BY '\ A' (awal judul) dan GARIS YANG DIAKHIRI OLEH'\ n '(baris baru).
-
- FORMAT BARIS SERDE 'ser de_name'
- [DENGAN SERDEPROPERTIES ('property_name' = 'property_value' [,...])]
-
Klausa yang menentukan format SERDE untuk data yang mendasarinya.
- 'nam a_serde '
-
Nama SerDe. Anda dapat menentukan format berikut:
-
org.apache.hadoop.hive.serde2. RegexSerDe
-
com.amazonaws.glue.serde. GrokSerDe
-
org.apache.hadoop.hive.serde2.opencsvserdari
Parameter ini mendukung SerDe properti berikut untuk OpenCSvserde:
'wholeFile' = 'true'Atur
wholeFilepropertitrueuntuk mengurai karakter baris baru (\n) dengan benar dalam string yang dikutip untuk permintaan OpenCSV. -
org.openx.data.jsonserde. JsonSerDe
-
JSON SERDE juga mendukung file Ion.
-
JSON harus dibentuk dengan baik.
-
Stempel waktu dalam Ion dan JSON harus menggunakan format ISO8601.
-
Parameter ini mendukung SerDe properti berikut untuk JsonSerDe:
'strip.outer.array'='true'Memproses Ion/JSON file yang berisi satu array yang sangat besar tertutup dalam tanda kurung luar ([...]) seolah-olah berisi beberapa catatan JSON dalam array.
-
-
com.amazon.ionhivesered. IonHiveSerDe
Format Amazon ION menyediakan teks dan format biner, selain tipe data. Untuk tabel eksternal yang mereferensikan data dalam format ION, Anda memetakan setiap kolom di tabel eksternal ke elemen yang sesuai dalam data format ION. Untuk informasi selengkapnya, lihat Amazon Ion
. Anda juga perlu menentukan format input dan output.
-
- DENGAN SERDEPROPERTIES ('property_name' = 'property_value' [,...])]
-
Secara opsional, tentukan nama properti dan nilai, dipisahkan dengan koma.
Jika ROW FORMAT dihilangkan, format defaultnya adalah DELIMITED FIELDS TERMINATED BY '\ A' (awal judul) dan GARIS YANG DIAKHIRI OLEH'\ n '(baris baru).
- DISIMPAN SEBAGAI file_format
-
Format file untuk file data.
Format yang valid adalah sebagai berikut:
-
PARQUET
-
RCFILE ( ColumnarSerDe hanya untuk data yang menggunakan, tidak LazyBinaryColumnarSerDe)
-
SEQUENCEFILE
-
TEXTFILE (untuk file teks, termasuk file JSON).
-
ORC
-
AVRO
-
INPUTFORMAT 'input_format_class name' OUTPUTFORMAT 'output_format_classname'
Perintah CREATE EXTERNAL TABLE AS hanya mendukung dua format file, TEXTFILE dan PARQUET.
Untuk INPUTFORMAT dan OUTPUTFORMAT, tentukan nama kelas, seperti yang ditunjukkan contoh berikut.
'org.apache.hadoop.mapred.TextInputFormat' -
- LOKASI {'s3://bucket/folder/' | 's3://'} bucket/manifest_file
-
Jalur ke bucket atau folder Amazon S3 yang berisi file data atau file manifes yang berisi daftar jalur objek Amazon S3. Bucket harus berada di Wil AWS ayah yang sama dengan cluster Amazon Redshift. Untuk daftar Wilayah AWS yang didukung, lihat Batasan Amazon Redshift Spectrum.
Jika jalur menentukan bucket atau folder, misalnya
's3://amzn-s3-demo-bucket/custdata/', Redshift Spectrum memindai file di bucket atau folder yang ditentukan dan subfolder apa pun. Redshift Spectrum mengabaikan file tersembunyi dan file yang dimulai dengan titik atau garis bawah.Jika path menentukan file manifes,
's3://bucket/manifest_file'argumen harus secara eksplisit mereferensikan satu file tunggal—misalnya,.'s3://amzn-s3-demo-bucket/manifest.txt'Itu tidak dapat mereferensikan awalan kunci.Manifes adalah file teks dalam format JSON yang mencantumkan URL setiap file yang akan dimuat dari Amazon S3 dan ukuran file, dalam byte. URL menyertakan nama bucket dan jalur objek lengkap untuk file. File yang ditentukan dalam manifes dapat berada di bucket yang berbeda, tetapi semua bucket harus berada di Wilayah yang sama AWS dengan cluster Amazon Redshift. Jika file terdaftar dua kali, file dimuat dua kali. Contoh berikut menunjukkan JSON untuk manifes yang memuat tiga file.
{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1", "meta": { "content_length": 5956875 } }, {"url":"s3://amzn-s3-demo-bucket1/custdata.2", "meta": { "content_length": 5997091 } }, {"url":"s3://amzn-s3-demo-bucket2/custdata.1", "meta": { "content_length": 5978675 } } ] }Anda dapat membuat penyertaan file tertentu wajib. Untuk melakukan ini, sertakan
mandatoryopsi di tingkat file dalam manifes. Saat Anda menanyakan tabel eksternal dengan file wajib yang hilang, pernyataan SELECT gagal. Pastikan bahwa semua file yang termasuk dalam definisi tabel eksternal hadir. Jika tidak semuanya ada, kesalahan muncul yang menunjukkan file wajib pertama yang tidak ditemukan. Contoh berikut menunjukkan JSON untuk manifes denganmandatoryopsi disetel ketrue.{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1", "mandatory":true, "meta": { "content_length": 5956875 } }, {"url":"s3://amzn-s3-demo-bucket1/custdata.2", "mandatory":false, "meta": { "content_length": 5997091 } }, {"url":"s3://amzn-s3-demo-bucket2/custdata.1", "meta": { "content_length": 5978675 } } ] }Untuk referensi file yang dibuat menggunakan UNLOAD, Anda dapat menggunakan manifes yang dibuat menggunakan MEMBONGKAR dengan parameter MANIFEST. File manifes kompatibel dengan file manifes untukSALIN dari Amazon S3, tetapi menggunakan kunci yang berbeda. Kunci yang tidak digunakan diabaikan.
- PROPERTI TABEL ('property_name' = 'property_value' [,...])
-
Klausa yang menetapkan definisi tabel untuk properti tabel.
catatan
Properti tabel peka huruf besar/kecil.
- 'compression _type'=' nilai '
-
Properti yang mengatur jenis kompresi yang akan digunakan jika nama file tidak berisi ekstensi. Jika Anda mengatur properti ini dan ada ekstensi file, ekstensi diabaikan dan nilai yang ditetapkan oleh properti digunakan. Nilai yang valid untuk tipe kompresi adalah sebagai berikut:
-
bzip 2
-
gzip
-
none
-
lincah
-
- 'data_cleaning_enabled' = 'benar/salah '
-
Properti ini mengatur apakah penanganan data aktif untuk tabel. Ketika 'data_cleaning_enabled' disetel ke true, penanganan data aktif untuk tabel. Ketika 'data_cleaning_enabled' disetel ke false, penanganan data tidak aktif untuk tabel. Berikut ini adalah daftar properti penanganan data tingkat tabel yang dikendalikan oleh properti ini:
-
penanganan jumlah kolom_ketidakcocokan
-
penanganan karakter tidak valid
-
penanganan_limpahan numerik
-
pengganti_char
-
penanganan karakter surplus
Sebagai contoh, lihat Contoh penanganan data.
-
- 'invalid _char_handling'=' nilai '
-
Menentukan tindakan yang akan dilakukan ketika hasil kueri berisi nilai UTF-8 karakter yang tidak valid. Anda dapat menentukan tindakan berikut:
- DISABLED
-
Tidak melakukan penanganan karakter yang tidak valid.
- GAGAL
-
Membatalkan kueri yang mengembalikan data yang berisi UTF-8 nilai yang tidak valid.
- SETELUKKAN_KE_NOL
-
Mengganti UTF-8 nilai yang tidak valid dengan null.
- DROP_ROW
-
Mengganti setiap nilai dalam baris dengan null.
- MENGGANTI
-
Mengganti karakter yang tidak valid dengan karakter pengganti yang Anda tentukan menggunakan
replacement_char.
- 'replacement _char'=' karakter '
-
Menentukan karakter pengganti yang akan digunakan saat Anda menyet
invalid_char_handlingel keREPLACE. - 'numeric_overflow_handling' = 'nilai'
-
Menentukan tindakan yang akan dilakukan ketika data ORC berisi integer (misalnya, BIGINT atau int64) yang lebih besar dari definisi kolom (misalnya, SMALLINT atau int16). Anda dapat menentukan tindakan berikut:
- DISABLED
-
Penanganan karakter yang tidak valid dimatikan.
- GAGAL
-
Batalkan kueri saat data menyertakan karakter yang tidak valid.
- SETELUKKAN_KE_NOL
-
Tetapkan karakter yang tidak valid ke null.
- DROP_ROW
-
Atur setiap nilai dalam baris ke null.
- 'surplus _bytes_handling'=' nilai '
-
Menentukan cara menangani data yang dimuat yang melebihi panjang tipe data yang ditentukan untuk kolom yang berisi data VARBYTE. Secara default, Redshift Spectrum menetapkan nilai ke null untuk data yang melebihi lebar kolom.
Anda dapat menentukan tindakan berikut untuk dilakukan ketika kueri mengembalikan data yang melebihi panjang tipe data:
- SETELUKKAN_KE_NOL
-
Mengganti data yang melebihi lebar kolom dengan null.
- DISABLED
-
Tidak melakukan penanganan byte surplus.
- GAGAL
-
Membatalkan kueri yang mengembalikan data melebihi lebar kolom.
- DROP_ROW
-
Jatuhkan semua baris yang berisi data melebihi lebar kolom.
- MEMOTONG
-
Menghapus karakter yang melebihi jumlah karakter maksimum yang ditentukan untuk kolom.
- 'surplus _char_handling'=' nilai '
-
Menentukan cara menangani data yang dimuat yang melebihi panjang tipe data yang ditentukan untuk kolom yang berisi VARCHAR, CHAR, atau data string. Secara default, Redshift Spectrum menetapkan nilai ke null untuk data yang melebihi lebar kolom.
Anda dapat menentukan tindakan berikut untuk dilakukan saat kueri mengembalikan data yang melebihi lebar kolom:
- SETELUKKAN_KE_NOL
-
Mengganti data yang melebihi lebar kolom dengan null.
- DISABLED
-
Tidak melakukan penanganan karakter surplus.
- GAGAL
-
Membatalkan kueri yang mengembalikan data melebihi lebar kolom.
- DROP_ROW
-
Mengganti setiap nilai dalam baris dengan null.
- MEMOTONG
-
Menghapus karakter yang melebihi jumlah karakter maksimum yang ditentukan untuk kolom.
- 'column_count_mismatch_handling'='nilai'
-
Mengidentifikasi jika file berisi nilai lebih sedikit atau lebih untuk baris daripada jumlah kolom yang ditentukan dalam definisi tabel eksternal. Properti ini hanya tersedia untuk format file teks yang tidak terkompresi. Anda dapat menentukan tindakan berikut:
- DISABLED
-
Penanganan ketidakcocokan jumlah kolom dimatikan.
- GAGAL
-
Gagal dalam kueri jika ketidakcocokan jumlah kolom terdeteksi.
- SETELUKKAN_KE_NOL
-
Isi nilai yang hilang dengan NULL dan abaikan nilai tambahan di setiap baris.
- DROP_ROW
-
Jatuhkan semua baris yang berisi kesalahan ketidakcocokan jumlah kolom dari pemindaian.
- 'numrow s' = 'hitung_baris'
-
Properti yang menetapkan nilai numRows untuk definisi tabel. Untuk memperbarui statistik tabel eksternal secara eksplisit, atur properti numRows untuk menunjukkan ukuran tabel. Amazon Redshift tidak menganalisis tabel eksternal untuk menghasilkan statistik tabel yang digunakan pengoptimal kueri untuk menghasilkan rencana kueri. Jika statistik tabel tidak disetel untuk tabel eksternal, Amazon Redshift menghasilkan rencana eksekusi kueri berdasarkan asumsi bahwa tabel eksternal adalah tabel yang lebih besar dan tabel lokal adalah tabel yang lebih kecil.
- 'skip.header.line.count'=' hitung_baris '
-
Properti yang menetapkan jumlah baris untuk dilewati di awal setiap file sumber.
- 'serialization.null.format'=' '
-
Properti yang menentukan Spectrum harus mengembalikan
NULLnilai ketika ada kecocokan yang tepat dengan teks yang disediakan di bidang. - 'orc.schema.resolution'='type_pemetaan'
-
Properti yang menetapkan jenis pemetaan kolom untuk tabel yang menggunakan format data ORC. Properti ini diabaikan untuk format data lainnya.
Nilai yang valid untuk jenis pemetaan kolom adalah sebagai berikut:
-
name
-
posisi
Jika properti orc.schema.resolution dihilangkan, kolom dipetakan berdasarkan nama secara default. Jika orc.schema.resolution disetel ke nilai apa pun selain 'nama' atau 'posisi', kolom dipetakan berdasarkan posisi. Untuk informasi selengkapnya tentang pemetaan kolom, lihatMemetakan kolom tabel eksternal ke kolom ORC.
catatan
Perintah COPY memetakan ke file data ORC hanya berdasarkan posisi. Properti tabel orc.schema.resolution tidak berpengaruh pada perilaku perintah COPY.
-
- 'write.parallel'='hidup/mati'
-
Properti yang mengatur apakah CREATE EXTERNAL TABLE AS harus menulis data secara paralel. Secara default, CREATE EXTERNAL TABLE AS menulis data secara paralel ke beberapa file, sesuai dengan jumlah irisan dalam cluster. Opsi default aktif. Saat 'write.parallel' disetel ke nonaktif, CREATE EXTERNAL TABLE AS menulis ke satu atau beberapa file data secara serial ke Amazon S3. Properti tabel ini juga berlaku untuk setiap pernyataan INSERT berikutnya ke dalam tabel eksternal yang sama.
- 'write.maxfilesize.mb'='ukuran'
-
Properti yang menetapkan ukuran maksimum (dalam MB) dari setiap file yang ditulis ke Amazon S3 oleh CREATE EXTERNAL TABLE AS. Ukuran harus berupa bilangan bulat yang valid antara 5 dan 6200. Ukuran file maksimum default adalah 6.200 MB. Properti tabel ini juga berlaku untuk setiap pernyataan INSERT berikutnya ke dalam tabel eksternal yang sama.
- 'write. kms.key.id'=' nilai '
-
Anda dapat menentukan AWS Key Management Service kunci untuk mengaktifkan Enkripsi Sisi Server (SSE) untuk objek Amazon S3, di mana nil ainya adalah salah satu dari berikut ini:
-
autountuk menggunakan AWS KMS kunci default yang disimpan di bucket Amazon S3. -
kms-key yang Anda tentukan untuk mengenkripsi data.
-
- select_statement
-
Pernyataan yang menyisipkan satu atau lebih baris ke tabel eksternal dengan mendefinisikan kueri apa pun. Semua baris yang dihasilkan kueri ditulis ke Amazon S3 baik dalam format teks atau parket berdasarkan definisi tabel.
Contoh
Kumpulan contoh tersedia diContoh.