轉自:http://jeffxie.blog.51cto.com/1365360/317518
下面我們說明一下hive的簡單查詢應用。
在hadoop環(huán)境下,shell下直接輸入hive,就會出現(xiàn)hive shell操作界面。關于HIVE里的SQL,我習慣性的將HIVE的SQL語句叫做HQL,事實上HQL有很多和SQL類似的地方,還有一點要說明的是HQL數(shù)據(jù)存儲位置是在Hadoop上的HDFS。
HIVE的數(shù)據(jù)類型 。HiveQL只支持以下幾種基本數(shù)據(jù)類型TINYINT, SMALLINT, INT, BIGINT, DOUBLE, STRING。
支持的復雜數(shù)據(jù)類型有Structs, Maps, Arrays。
創(chuàng)建表。 Hive不同于其他數(shù)據(jù)庫,它只有一個默認數(shù)據(jù)庫"default" ,所有的table都保持在里面。
創(chuàng)建數(shù)據(jù)表:
CREATE TABLE test_change (a int, b int, c int);
解釋:創(chuàng)建一個叫test_change的表,其中有字段a,b,c
create table test(a int,b int,c int);
查看表
SHOW TABLES;
如果你不知道表后綴,那么你也可以這樣
SHOW TABLES 'page.*';
查看表結構
DESCRIBE TABLE;
刪除表
DROP TABLE
修改表名
ALTER TABLE old_table_name RENAME TO new_table_name;
導入數(shù)據(jù):
load data local inpath "/root/test.sql" overwrite into table test;
這里指的注意的一點是,test.sql里的數(shù)據(jù)內容是需要分隔符的,HIVE里面有自己的默認分隔符,我想
盡量用它默認的,這樣就不會出現(xiàn)大問題