一、表
创建表
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
CREATE TABLE 创建一个指定名字的表。Hive 创建内部表时,会将数据移动到数据仓库指向的路径;
EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),记录数据所在的路径,不对数据的位置做任何改变
创建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
指定数据库表模式(Schemas):
例:
CREATE TABLE demo1 (id INT,name STRING);
两列:
一列Int类型
一列STRING类型
二、数据类型
简单数据类型
复杂数据类型
例:
Hive 中为了采用复杂数据类型是为了提高访问的速度
三、数据存储格式
TEXTFILE
SEQUENCEFILE
RCFILE
自定义格式
(1)TEXTFILE
分隔符
四、其他操作
(1)删除表 Drop Table
删除一个内部表的同时会同时删除表的元数据和数据。删除一个外部表,只删除元数据而保留数据。
(2)修改表Alter Table
用 ALTER TABLE tbl_name ADD PARTITION …来向一个表中增加分区
用ALTER TABLE tbl_name RENAME TO tbl_name_new 来修改表名
(3)加载数据Load data
LOAD DATA [LOCAL] INPATH 'filepath'
[OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
(4)查询语句 Select
SELECT [ALL | DISTINCT] select_expr, select_expr, ...
FROM table_reference
[WHERE where_condition][GROUP BY col_list]
[ CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ][LIMIT number]
例
1. 简单查询
SELECT * FROM t1
SELECT * FROM t1 LIMIT 10
SELECT * FROM sales WHERE amount > 10 AND region = "US"
SELECT DISTINCT col1, col2 FROM t1
2.子查询语句
SELECT t2.col1
FROM (SELECT col1, SUM(col2) AS col2sum FROM t1 GROUP BY col1
) t2
WHERE t2.col2sum > 10