Hive初識(一)
阿新 • • 發佈:2018-12-25
LOAD DATA語句
一般來說,在SQL建立表後,我們就可以使用INSERT語句插入資料。但在Hive中,可以使用LOAD DATA語句來插入資料。
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION(partcol1=val1,partco2=val2...)]
LOCAL是識別符號指定本地路徑。它是可選的。
OVERWRITE是可選的,覆蓋表中的資料。
PARTITION這是可選的。
如將/home/user目錄中名為sample.txt的檔案的資料插入到表中
1201 Gopal 45000 Technical manager 1202 Manisha 45000 Proof reader 1203 Masthanvali 40000 Technical writer 1204 Kiran 40000 Hr Admin 1205 Kranthi 30000 Op Admin
下面的查詢載入給定文字插入表中。
LOAD DATA LOCAL INPATH '/home/user/sample.txt' OVERWRITE INTO TABLE employee;
下載成功完成,能看到以下回應。
OK
Time taken: 15.905 seconds
hive>
ALter Table語句
它在Hive中用來修改的表。
語法
宣告接受任意屬性,我們希望在一個表中修改以下語法。
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])
Rename To...語句
下面是查詢重命名錶,把employee修改為emp。
hive> ALTER TABLE employee RENAME TO emp;
Change語句
下表包含employee表的欄位,它顯示的欄位要被更改(粗體)
欄位名 | 從資料型別轉換 | 更改欄位名稱 | 轉換為資料型別 |
---|---|---|---|
eid | int | eid | int |
name | String | ename | String |
salary | Float |
salary | Double |
designation | String | designation | String |
ALTER TABLE employee CHANGE name ename String;
ALTER TABLE employee CHANGE salary salary Double;
新增列語句
下面的查詢增加了一個列明dept在employee表。
ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');
REPLACE語句
以下從employee表中查詢刪除的所有列,並使用em替換列:
ALTER TABLE employee REPLACE COLUMNS (eid INT empid Int,ename STRING name String);
Drop Table語句
語法:
Drop Table [IF EXISTs] table_name;
以下查詢刪除一個名為employee的表:
DROP TABLE IF EXISTS employee;
對於成功執行查詢,能看到以下回應:
OK
Time taken: 5.3 seconds
hive>