007-Hadoop Hive sql語法詳解2-修改表結構


一、表

更改表名:ALTER TABLE table_name RENAME TO new_table_name

增加表的元數據信息:ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties::[property_name = property_value…..]

  用戶可以用這個命令向表中增加metadata

二、列

表添加一列 :ALTER TABLE pokes ADD COLUMNS (new_col INT);

添加一列並增加列字段注釋:ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');

增加/更新列:ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

  ADD是代表新增一字段,字段位置在所有列后面(partition列前)
     REPLACE則是表示替換表中所有字段。

刪除列:DROP TABLE pokes;

修改:ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

  可以允許改變列名、數據類型、注釋、列位置或者它們的任意組合

三、分區

增加分區:

ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
partition_spec:
: PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)

刪除分區:ALTER TABLE table_name DROP partition_spec, partition_spec,...

四、改變表文件格式與組織

ALTER TABLE table_name SET FILEFORMAT file_format
ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS

這個命令修改了表的物理存儲屬性

五、創建/刪除視圖

CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENT column_comment], ...) ][COMMENT view_comment][TBLPROPERTIES (property_name = property_value, ...)] AS SELECT

•增加視圖
•如果沒有提供表名,視圖列的名字將由定義的SELECT表達式自動生成
•如果修改基本表的屬性,視圖中不會體現,無效查詢將會失敗
•視圖是只讀的,不能用LOAD/INSERT/ALTER
•DROP VIEW view_name
•刪除視圖

六、創建數據庫

CREATE DATABASE name

七、顯示命令

show tables;
show databases;
show partitions ;
show functions
describe extended table_name dot col_name

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM