2013-02-20 39 views
2

当使用蜂巢这样的:使用蜂巢全局调度

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日期分成几个部分,每个部分种类减少。

请告诉我如何解决这个问题?

+0

我没有看到任何问题,请详细解释。 – 2013-02-20 06:47:32

+0

对不起,应该是“从ncsa中选择req_time,其中req_time> 90按req_time limt 100排序;”并且结果不是全局排序 – caidao 2013-02-20 09:57:12

+0

使用组按排序前可以工作 – 2013-02-20 13:19:19

回答

1

使用order by而不是sort by

order bysort by之间的区别在于前者保证输出中的总顺序,而后者仅保证缩减器内行的顺序。有关更多详细信息,请参见hive docs

PS。确保req_time是一个数字字段。通过在减速的范围,确保每个N减速器被不重叠的范围,然后 各种各样:

0

我会从Hive cluster by vs order by vs sort by引用答案:

  • CLUSTER BY x。这给你全球订购 ,和做(DISTRIBUTE BY xSORT BY x)一样。 您最终会得到N个或更多排序非重叠的文件。

  • 所以CLUSTER BY - 基本上是ORDER BY的可缩放版本。