hive常用sql命令
建立表
hive> CREATE TABLE A (a INT, b STRING);
建立表並建立索引欄位ds
hive> CREATE TABLE A (a INT, b STRING) PARTITIONED BY (ds STRING);
顯示所有表
hive> SHOW TABLES;
按正條件(正則表示式)顯示錶,
hive> SHOW TABLES '.*s';
表新增一列
hive> ALTER TABLE B ADD COLUMNS (new_col INT);
新增一列並增加列欄位註釋
hive> ALTER TABLE B ADD COLUMNS (new_col2 INT COMMENT 'a comment');
更改表名
hive> ALTER TABLE A RENAME TO B
刪除列
hive> DROP TABLE A;
元資料儲存
將檔案中的資料載入到表中
hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE A;
載入本地資料,同時給定分割槽資訊
hive> LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE A PARTITION (ds='2008-08-15');
載入DFS資料 ,同時給定分割槽資訊
hive>
The above command will load data from an HDFS file/directory to the table. Note that loading data from HDFS will result in moving the file/directory. As a result, the operation is almost instantaneous.
SQL 操作
按先件查詢
hive> SELECT a.foo FROM invites a WHERE a.ds='<DATE>';
將查詢資料輸出至目錄
hive> INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='<DATE>';
將查詢結果輸出至本地目錄
hive> INSERT OVERWRITE LOCAL DIRECTORY '/tmp/local_out' SELECT a.* FROM pokes a;