ALTER TABLE REPLACE COLUMNS - Amazon Athena

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

ALTER TABLE REPLACE COLUMNS

Menghapus semua kolom yang ada dari tabel yang dibuat dengan LazySimpleSerDedan menggantinya dengan kumpulan kolom yang ditentukan. Saat opsionalPARTITIONsintaks yang digunakan, update metadata partisi. Anda juga dapat menggunakanALTER TABLE REPLACE COLUMNSuntuk menjatuhkan kolom dengan menentukan hanya kolom yang ingin Anda simpan.

Sinopsis

ALTER TABLE table_name [PARTITION (partition_col1_name = partition_col1_value [,partition_col2_name = partition_col2_value][,...])] REPLACE COLUMNS (col_name data_type [, col_name data_type, ...])

Parameter

PARTASI (partition_col_name=partition_col_value [,...])

Menentukan partisi dengan kombinasi nama kolom/nilai yang Anda tentukan. Lampirkanpartition_col_valuedalam tanda kutip hanya jika tipe data kolom adalah string.

GANTI KOLOM (col_name data_type [, col_name data_type,...])

Menggantikan kolom yang ada dengan nama kolom dan tipe data yang ditentukan.

Catatan

  • Untuk melihat perubahan kolom tabel di panel navigasi Editor Kueri Athena setelah menjalankanALTER TABLE REPLACE COLUMNS, Anda mungkin harus menyegarkan daftar tabel di editor secara manual, lalu memperluas tabel lagi.

  • ALTER TABLE REPLACE COLUMNStidak bekerja untuk kolom dengandateDatatype. Untuk mengatasi masalah ini, gunakantimestampdatatype dalam tabel sebagai gantinya.

  • Perhatikan bahwa bahkan jika Anda mengganti hanya satu kolom, sintaksnya harusALTER TABLE table-name REPLACE COLUMNS, dengan kolom dalam bentuk jamak. Anda harus menentukan tidak hanya kolom yang ingin Anda ganti, tetapi kolom yang ingin Anda simpan - jika tidak, kolom yang tidak Anda tentukan akan dijatuhkan. Sintaks dan perilaku ini berasal dari Apache Hive DDL. Untuk referensi, lihat Tambahkan/Ganti kolom dalam dokumentasi Apache.

Contoh

Dalam contoh berikut, tabelnames_cities, yang dibuat menggunakan LazySimpleSerDe, memiliki tiga kolom bernamacol1,col2, dancol3. Semua kolom bertipestring. Untuk menampilkan kolom dalam tabel, perintah berikut menggunakan SHOW COLUMNS pernyataan.

SHOW COLUMNS IN names_cities

Hasil kueri:

col1 col2 col3

ALTER TABLE REPLACE COLUMNSPerintah berikut menggantikan nama kolom denganfirst_name,last_name, dancity. Data sumber yang mendasarinya tidak terpengaruh.

ALTER TABLE names_cities REPLACE COLUMNS (first_name string, last_name string, city string)

Untuk menguji hasilnya, SHOW COLUMNS dijalankan lagi.

SHOW COLUMNS IN names_cities

Hasil kueri:

first_name last_name city

Cara lain untuk menampilkan nama kolom baru adalah dengan melihat pratinjau tabel di Athena Query Editor atau menjalankan kueri Anda sendiriSELECT.