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 opsionalPARTITION
sintaks yang digunakan, update metadata partisi. Anda juga dapat menggunakanALTER TABLE REPLACE
COLUMNS
untuk 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. Lampirkan
partition_col_value
dalam 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 menjalankan
ALTER TABLE REPLACE COLUMNS
, Anda mungkin harus menyegarkan daftar tabel di editor secara manual, lalu memperluas tabel lagi. -
ALTER TABLE REPLACE COLUMNS
tidak bekerja untuk kolom dengandate
Datatype. Untuk mengatasi masalah ini, gunakantimestamp
datatype dalam tabel sebagai gantinya. -
Perhatikan bahwa bahkan jika Anda mengganti hanya satu kolom, sintaksnya harus
ALTER TABLE
, 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 kolomtable-name
REPLACE COLUMNSdalam 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 COLUMNS
Perintah 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
.