2

像这样使用蜂巢时:

 select req_time from ncsa where req_time > 90 sort by req_time limt 100;

你会发现这个:</p>

958
952
951 
97
96
96
959
957
956
955 
955
953
95
94
92

我猜在mapps中日期分为几个部分,并按每个部分减少排序。

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

4

2 回答 2

1

使用order by而不是sort by.

order by和之间的区别在于sort by前者保证输出中的总顺序,而后者只保证减速器中行的顺序。有关更多详细信息,请参阅hive 文档

PS。确保req_time是一个数字字段。

于 2013-02-23T16:37:59.750 回答
0

我将引用Hive cluster by vs order by vs sort by 的答案:

  • CLUSTER BY x: 确保 N 个 reducer 中的每一个都获得不重叠的范围,然后在 reducer 上按这些范围进行排序。这为您提供全局排序,并且与执行 (DISTRIBUTE BY xSORT BY x) 相同。您最终会得到 N 个或更多具有非重叠范围的排序文件。

  • 所以CLUSTER BY- 基本上是 ORDER BY 的更具可扩展性的版本。

于 2014-01-17T22:45:43.377 回答