当使用蜂巢这样的:使用蜂巢全局调度
select req_time from ncsa where req_time > 90 sort by req_time limt 100;
,你会发现这一点:
958
952
951
97
96
96
959
957
956
955
955
953
95
94
92
我想在MAPPS日期分成几个部分,每个部分种类减少。
请告诉我如何解决这个问题?
当使用蜂巢这样的:使用蜂巢全局调度
select req_time from ncsa where req_time > 90 sort by req_time limt 100;
,你会发现这一点:
958
952
951
97
96
96
959
957
956
955
955
953
95
94
92
我想在MAPPS日期分成几个部分,每个部分种类减少。
请告诉我如何解决这个问题?
使用order by
而不是sort by
。
order by
和sort by
之间的区别在于前者保证输出中的总顺序,而后者仅保证缩减器内行的顺序。有关更多详细信息,请参见hive docs。
PS。确保req_time
是一个数字字段。通过在减速的范围,确保每个N减速器被不重叠的范围,然后 各种各样:
我会从Hive cluster by vs order by vs sort by引用答案:
CLUSTER BY x
。这给你全球订购 ,和做(DISTRIBUTE BY x
和SORT BY x
)一样。 您最终会得到N个或更多排序非重叠的文件。
所以CLUSTER BY
- 基本上是ORDER BY的可缩放版本。
我没有看到任何问题,请详细解释。 – 2013-02-20 06:47:32
对不起,应该是“从ncsa中选择req_time,其中req_time> 90按req_time limt 100排序;”并且结果不是全局排序 – caidao 2013-02-20 09:57:12
使用组按排序前可以工作 – 2013-02-20 13:19:19