HCatalog - Alter Table
Bab ini menjelaskan cara mengubah atribut tabel seperti mengganti nama tabel, mengganti nama kolom, menambah kolom, dan menghapus atau mengganti kolom.
Pernyataan Alter Table
Anda dapat menggunakan pernyataan ALTER TABLE untuk mengubah tabel di Hive.
Sintaksis
Pernyataan tersebut mengambil salah satu sintaks berikut berdasarkan atribut apa yang ingin kita ubah dalam tabel.
ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])
Beberapa skenario dijelaskan di bawah ini.
Ubah Nama Menjadi… Pernyataan
Kueri berikut mengganti nama tabel dari employee untuk emp.
./hcat –e "ALTER TABLE employee RENAME TO emp;"
Pernyataan Perubahan
Tabel berikut berisi bidang employee tabel dan ini menunjukkan bidang yang akan diubah (dicetak tebal).
Nama Bidang | Konversi dari Tipe Data | Ubah Nama Bidang | Ubah ke Tipe Data |
---|---|---|---|
Idul Fitri | int | Idul Fitri | int |
nama | Tali | ename | Tali |
gaji | Mengapung | gaji | Dua kali lipat |
penunjukan | Tali | penunjukan | Tali |
Kueri berikut ini mengganti nama kolom dan tipe data kolom menggunakan data di atas -
./hcat –e "ALTER TABLE employee CHANGE name ename String;"
./hcat –e "ALTER TABLE employee CHANGE salary salary Double;"
Tambahkan Pernyataan Kolom
Kueri berikut menambahkan kolom bernama dept ke employee meja.
./hcat –e "ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');"
Replace Statement
Kueri berikut menghapus semua kolom dari employee tabel dan menggantinya dengan emp dan name kolom -
./hcat – e "ALTER TABLE employee REPLACE COLUMNS ( eid INT empid Int, ename STRING name String);"
Pernyataan Drop Table
Bab ini menjelaskan cara menjatuhkan tabel di HCatalog. Ketika Anda menjatuhkan tabel dari metastore, itu menghapus data tabel / kolom dan metadatanya. Ini bisa berupa tabel normal (disimpan di metastore) atau tabel eksternal (disimpan dalam sistem file lokal); HCatalog memperlakukan keduanya dengan cara yang sama, apa pun jenisnya.
Sintaksnya adalah sebagai berikut -
DROP TABLE [IF EXISTS] table_name;
Kueri berikut menjatuhkan tabel bernama employee -
./hcat –e "DROP TABLE IF EXISTS employee;"
Saat eksekusi kueri berhasil, Anda akan melihat respons berikut -
OK
Time taken: 5.3 seconds