Hive 的 select 语句
中 语句的结构如下:
!"#
$%&'#('#
)*+,-'
*,-',*,-',-'
#./!
一个 语句可以是一个 .#'# 查询或一个子查询的一部分。
!"# 是查询的输入,可以是一个普通表、一个视图、一个 0'# 或
一个子查询简单查询。
1%& 语句部分:
%&'#('#是一个布尔表达式。例如,下面的查询语句只返回销售记录
大于 12,且归属地属于美国的销售代表。不支持在 $子句中的
,3或子查询。
4 $ /'.#5126'#78*8
9 #( 部分:
使用 和 选项区分对重复记录的处理。默认是 ,表示查询所
有记录。 表示去掉重复的记录, 作用于后面的所有列。
&5'1'91
1:
1:
1;
9<
&5'1'91
1:
1;
9<
&5'11
1
9
:基于 + '# 的查询
一般 查询会扫描整个表(除非是为了抽样查询)。但是如果一个表使
用 +,-子句建表,查询就可以利用分区剪枝(#.
.##6)的特性,只扫描一个表中它关心的那一部分。
当前的实现是,只有分区断言出现在离 子句最近的那个 $
子句中,才会启用分区剪枝。
例如,如果 6%表使用 ( 列分区,以下语句只会读取分区为
‘922=>2:>21?的数据。