Hive查询排序、数据类型转换、采样及视图使用全解析
1. ORDER BY和SORT BY
在SQL查询中,排序操作是常见需求。ORDER BY和SORT BY是Hive中用于排序的两个重要子句。
- ORDER BY :与其他SQL方言中的ORDER BY子句类似,它对查询结果集进行全局排序。这意味着所有数据都会通过一个单一的reducer进行处理,对于大型数据集,执行时间可能会过长。示例代码如下:
SELECT s.ymd, s.symbol, s.price_close
FROM stocks s
ORDER BY s.ymd ASC, s.symbol DESC;
- SORT BY :Hive特有的排序方式,它只在每个reducer内部对数据进行排序,即局部排序。每个reducer的输出会是有序的,但不同reducer的输出之间可能会有数据重叠。示例代码如下:
SELECT s.ymd, s.symbol, s.price_close
FROM stocks s
SORT BY s.ymd ASC, s.symbol DESC;
当 hive.mapred.mode 属性设置为 strict 时,使用ORDER BY必须搭配LIMIT子句,默认情况下该属性为 nonstrict 。 </
超级会员免费看
订阅专栏 解锁全文
1122

被折叠的 条评论
为什么被折叠?



