Jaql - 顶级运营商默认订单

时间:2012-11-15 09:11:28

标签: bigdata jjaql biginsights

根据 - http://publib.boulder.ibm.com/infocenter/bigins/v1r1/index.jsp?topic=%2Fcom.ibm.swg.im.infosphere.biginsights.doc%2Fdoc%2Fc0057749.html的IBM文档,Jaql顶级运算符的默认顺序是升序。但是当我运行它时,我看到默认顺序为降序。我使用的是BigInsights 1.4版。我想知道是否有人知道这是文件问题还是这种看似差异背后的其他原因 -

jaql> nums = [2,1,3];

jaql> nums -> top 2;
[
  2,
  1
]

1 个答案:

答案 0 :(得分:0)

Top不会对输入数组施加任何排序。它转换为切片(数组,0,n);功能调用。它需要前n个元素,除非你运行MR模式,在本例中你没有。 Top只是转换为slice(),它不会查看值。如果您想强制执行确定性订单,则必须附加比较器。

在这种情况下,因为使用[2,1,3]的示例,它看起来好像是按降序排列,但Top只返回数组中的前两个值。你有没有要求:

JAQL> nums - >前3名;

它会返回: [ 2, 1, 3 ]

相关问题