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

hive同樣也面對傳統數據庫的一些操作,那麼hive
1.如何增加分區、刪除分區?
2.如何重命名錶?
3.如何修改列的名字、類型、位置、註釋?
4.如何增加/更新列?
5.如何增加表的元數據信息?



表添加一列 :
  1. hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
複製代碼

添加一列並增加列字段註釋
  1. hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
複製代碼





更改表名:
  1. hive> ALTER TABLE events RENAME TO 3koobecaf;
複製代碼

刪除列:hive> DROP TABLE pokes;




增加、刪除分區


•增加
  1. ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
  2.       partition_spec:
  3.   : PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)
複製代碼

•刪除
  1. ALTER TABLE table_name DROP partition_spec, partition_spec,...
複製代碼

重命名錶
  1. ALTER TABLE table_name RENAME TO new_table_name
複製代碼



修改列的名字、類型、位置、註釋:
  1. ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
複製代碼

•這個命令可以允許改變列名、數據類型、註釋、列位置或者它們的任意組合


表添加一列 :
  1. hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
複製代碼

添加一列並增加列字段註釋
  1. hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
複製代碼

增加/更新列
  1. ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)  
複製代碼

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


增加表的元數據信息
  1. ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties:
  2.          :[property_name = property_value…..]
複製代碼
•用戶可以用這個命令向表中增加metadata


改變表文件格式與組織


  1. ALTER TABLE table_name SET FILEFORMAT file_format
  2. ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS
複製代碼
這個命令修改了表的物理存儲屬性

創建/刪除視圖

  1. 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
•刪除視圖


創建數據庫
  1. CREATE DATABASE name
複製代碼


顯示命令
  1. show tables;
  2. show databases;
  3. show partitions ;
  4. show functions
  5. describe extended table_name dot col_name
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章