Memuat data dengan lebar tetap dari Amazon S3 - Amazon Redshift

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

Memuat data dengan lebar tetap dari Amazon S3

File data dengan lebar tetap memiliki panjang seragam untuk setiap kolom data. Setiap bidang dalam file data dengan lebar tetap memiliki panjang dan posisi yang persis sama. Untuk data karakter (CHAR dan VARCHAR) dalam file data dengan lebar tetap, Anda harus menyertakan spasi depan atau belakang sebagai placeholder agar lebarnya tetap seragam. Untuk bilangan bulat, Anda harus menggunakan angka nol di depan sebagai placeholder. File data dengan lebar tetap tidak memiliki pembatas untuk memisahkan kolom.

Untuk memuat file data dengan lebar tetap ke dalam tabel yang ada, GUNAKAN parameter FIXEDWIDTH dalam perintah COPY. Spesifikasi tabel Anda harus sesuai dengan nilai fixedwidth_spec agar data dimuat dengan benar.

Untuk memuat data dengan lebar tetap dari file ke tabel, keluarkan perintah berikut:

copy table_name from 's3://mybucket/prefix' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' fixedwidth 'fixedwidth_spec';

Parameter fixedwidth_spec adalah string yang berisi pengidentifikasi untuk setiap kolom dan lebar setiap kolom, dipisahkan oleh titik dua. column:widthPasangan dibatasi oleh koma. Pengenal dapat berupa apa saja yang Anda pilih: angka, huruf, atau kombinasi keduanya. Pengidentifikasi tidak memiliki hubungan dengan tabel itu sendiri, sehingga spesifikasi harus berisi kolom dalam urutan yang sama dengan tabel.

Dua contoh berikut menunjukkan spesifikasi yang sama, dengan yang pertama menggunakan pengidentifikasi numerik dan yang kedua menggunakan pengidentifikasi string:

'0:3,1:25,2:12,3:2,4:6'
'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'

Contoh berikut menunjukkan data sampel lebar tetap yang dapat dimuat ke dalam tabel VENUE menggunakan spesifikasi sebelumnya:

1 Toyota Park Bridgeview IL0 2 Columbus Crew Stadium Columbus OH0 3 RFK Stadium Washington DC0 4 CommunityAmerica Ballpark Kansas City KS0 5 Gillette Stadium Foxborough MA68756

Perintah COPY berikut memuat kumpulan data ini ke dalam tabel VENUE:

copy venue from 's3://mybucket/data/venue_fw.txt' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6';