Jaql - 顶级运算符默认顺序



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

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

Top 不会对输入数组施加任何排序。它转换为切片(数组,0,n);函数调用。它采用前 n 个元素,除非您运行它 MR 模式,而在本例中您没有这样做。top 只是转换为 slice(),它不查看值。如果要强加确定性顺序,则必须附加一个比较器。

在本例中,由于该示例使用了 [2,1,3],因此看起来好像是按降序排列的,但 Top 只返回了数组中的前两个值。您是否要求:

Jaql> nums -> Top 3;

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

最新更新