Hive提供了便捷的数据查询功能,这是Hive得到广泛使用的原因之一。Hive的SELECT与关系型数据库的SELECT既有相似之处,也有不同之处。
语法:
SELECT [ALL | DISTINCT] select _expr ,select_expr,...
FROM table_reference
[WHERE where_condition]
[GROUP BY col_list]
[CLUSTER BY col_list
| [DISTRIBUTED BY col_list] [SORT BY col_list]
]
[LIMIT number]
table_reference 是查询的输入,可以是表/视图/Join/或子查询。
1.简单查询
SELECT * FROM t1
该查询返回t1表中的所有行及所有的列. SELECT * 没有被转换为MapReduce任务.也是唯一没有被转化为MapReducer任务的查询.
2.查询另外库中的数据
USE database_name;
SELECT query_specifications;
USE default;
在查询过程中,可以使用use database_name进行数据库的切换,查询另外一个数据库中的数据,使用USE default切换到默认数据库.
3.WHERE子句.
WHERE子句是一个逻辑表达式,例如 下面的例子只返回销售总额大于10以及归属地是Dalian的数据.从Hive0.13开始WHERE子句可以是子查询.
SELECT * FROM sales WHERE amount>10