閱讀目錄
本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。
文章是哥(mephisto)寫的,SourceLink
序
上一篇,我們介紹了Hive和對其進行了安裝,下面我們就初步的使用hive進行講解。
下面我們開始介紹hive的建立表,修改表,刪除表等。
建立表
一:Hive Client
在Terminal輸入hive命令需要安裝Hive Client。
二:進入
切換使用者,進入hive
su hdfs hive
三:建立表
語法:
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];例子:
create table student ( id int, name string, openingtime string );
四:建立帶有分割槽的表
介紹:
一個表可以擁有一個或者多個分割槽,每個分割槽以資料夾的形式單獨存在表資料夾的目錄下。分割槽是以欄位的形式在表結構中存在,通過describe table命令可以檢視到欄位存在,但是該欄位不存放實際的資料內容,僅僅是分割槽的表示。在Hive Select查詢中一般會掃描整個表內容,會消耗很多時間做沒必要的工作。有時候只需要掃描表中關心的一部分資料,因此建表時引入了partition概念。表中的一個 Partition 對應於表下的一個目錄,Partition 就是輔助查詢,縮小查詢範圍,加快資料的檢索速度和對資料按照一定的規格和條件進行管理。
語法:
create table table_name ( id int, dtDontQuery string, name string ) partitioned by (date string)例子:
create table score ( id int, studentid int, score double ) partitioned by (openingtime string);
檢視錶
一:檢視所有表
show tables;二:檢視某個表資訊
我們通過Desctribe來顯示某個表的資訊
語法:
DESCRIBE DATABASE [EXTENDED] db_name; DESCRIBE SCHEMA [EXTENDED] db_name; -- (Note: Hive 0.15.0 and later) --------------------------------------------------------------------------------- DESCRIBE [EXTENDED|FORMATTED] [db_name.]table_name[.col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )* ]; -- (Note: Hive 1.x.x and 0.x.x only) -- (see "Hive 2.0+: New Syntax" below)例子:
DESCRIBE student;DESCRIBE score;三:檢視某列資訊
DESCRIBE student.id;
修改表
一:改表名
語法:
ALTER TABLE table_name RENAME TO new_table_name;例子:
alter table student rename to student1;二:修改列
語法:
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];
例子:
alter table student1 change name name1 string;
三:增加/替換列
語法:
ALTER TABLE table_name [PARTITION partition_spec] ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...) [CASCADE|RESTRICT]例子:
alter table student1 add columns (sex int);
刪除表
一:刪除表
語法:
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];例子:
drop table score;--------------------------------------------------------------------
到此,本章節的內容講述完畢。
系列索引
本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。
文章是哥(mephisto)寫的,SourceLink