0

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
]
4

1 に答える 1

0

Top は、入力配列に順序付けを課しません。これは、slice(array, 0, n); に変換されます。関数呼び出し。この例では実行しなかった MR モードで実行しない限り、最初の n 個の要素が必要です。Top は slice() に変換されるだけで、値は確認されません。決定論的な順序を課したい場合は、コンパレータを添付する必要があります。

この例では [2,1,3] が使用されているため、降順になっているように見えますが、Top は配列の最初の 2 つの値を返しただけです。あなたは次のことを求めましたか:

jaql> 数値 -> トップ 3;

[ 2, 1, 3 ] が返されます。

于 2013-09-27T06:17:45.203 に答える