hive中select语法
来源:互联网 发布:未来人工智能龙头股 编辑:程序博客网 时间:2024/06/06 20:57
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]
select语句可以是union查询的一部分或者是另一个查询的子查询。
table_reference指示查询的输入。它可以是普通的表,视图,join构造或者是子查询。
简单查询。例如,下面的查询返回表t1所有的列和行。
SELECT * FROM t1
WHERE子句
where条件是一个boolean表达式。例如,下面的查询,返回US地区,amount大于10的销售记录。Hive在where子句中不支持IN,EXISTS或子查询
SELECT * FROM sales WHERE amount > 10 AND region = "US"
ALL和DISTINCT子句
ALL和DISTINCT选项,指定重复的行是否返回。如果没有指定,默认是ALL(所有行会返回)。DISTINCT指定从结果集移除重复的行。
hive> SELECT col1, col2 FROM t1 1 3 1 3 1 4 2 5hive> SELECT DISTINCT col1, col2 FROM t1 1 3 1 4 2 5hive> SELECT DISTINCT col1 FROM t1 1 2
基于分区的查询
通常,一个SELECT查询扫描全部表(除了sampling)。如果表是用PARTITIONED BY字句创建,查询可以做分区剪除,根据查询指定的分区范围,扫描表的一部分。当前Hive在where字句或者JOIN的ON字句中指定了分区,会做分区裁剪。例如,如果表page_views按照列date做分区,下面的查询,只是返回在2008-03-01到2008-03-31的日期的行。
SELECT page_views.* FROM page_views WHERE page_views.date >= '2008-03-01' AND page_views.date <= '2008-03-31'
如果表page_views和其他表dim_users做连接,可以在ON字句指定分区的范围,如下:
SELECT page_views.* FROM page_views JOIN dim_users ON (page_views.user_id = dim_users.id AND page_views.date >= '2008-03-01' AND page_views.date <= '2008-03-31')
HAVING子句
从Hive0.70开始,Hive添加支持HAVING字句。之前的Hive版本,如果要达到相同的效果,需要用子查询,例如:
SELECT col1 FROM t1 GROUP BY col1 HAVING SUM(col2) > 10
也可以表示为:
SELECT col1 FROM (SELECT col1, SUM(col2) AS col2sum FROM t1 GROUP BY col1) t2 WHERE t2.col2sum > 10
LIMIT字句
Limit指示返回的行的数目。随机选择返回的行。下面的查询,随机返回t1的5行。
SELECT * FROM t1 LIMIT 5
Top K查询。下面的查询返回的前5名的销售记录WRT量。
SET mapred.reduce.tasks = 1SELECT * FROM sales SORT BY amount DESC LIMIT 5
正则表达式列规范
SELECT语句可以执行基于正则表达式的列规范
使用java正则表达式语法:常用http://www.fileformat.info/tool/regex.htm测试结果。
下面的查询,选择除了ds和hr的所有列。
SELECT `(ds|hr)?+.+` FROM sales
- hive中select语法
- hive------select语法介绍
- update中使用select 语法
- hive中antlr语法文件的编译
- Hive语法
- hive语法
- hive语法
- MySQL中SELECT语句的基本语法
- MySql中SELECT常用语法结构解析
- hive中select中DISTINCT的技巧和使用
- select 语法
- SELECT语法
- select 语法
- hive中select 走与不走mapreduce
- hive中运行 select count(1) from test报错
- vb.net中select 语句的运用--字符串变量语法及多重SELECT语法
- Hive中case when的两种语法
- Hive基础三(查询中常用的语法)
- Android获取视频音频的时长的方法
- 《中国区块链与物联网融合创新应用蓝皮书》即将发布
- sparksql cachetable 及 uncachtable
- tomcat ajp协议
- https的双向认证
- hive中select语法
- dataTable 最后一列添加选项操作
- opencv调用电脑摄像头+视频拼接
- HTML5_PS的几个基本用法
- SQL Server 三种Join方式
- NLTK中常见定义的函数
- 在Visual Studio 2015中使用TortoiseGit
- Google Cloud 磁盘满解决办法
- 支付系统对账算法优化方案