Sql 按随机数排序在黑斑羚中不起作用

Sql 按随机数排序在黑斑羚中不起作用,sql,impala,Sql,Impala,当我在色调中对黑斑羚数据源运行这个时,我得到了一个意外的结果 select id, rand(unix_timestamp(now())) as ord from ( select 1 as id union select 2 union select 3 union select 4 ) x order by ord 我希望通过ord列中出现的任何内容以随机顺序对行进行排序。相反,我总是得到3、4、1、2,ord中的数字不按顺序排列: id ord 3 0.88991106063

当我在色调中对黑斑羚数据源运行这个时,我得到了一个意外的结果

select id, rand(unix_timestamp(now())) as ord
from (
  select 1 as id union select 2 union select 3 union select 4
) x
order by ord 
我希望通过ord列中出现的任何内容以随机顺序对行进行排序。相反,我总是得到3、4、1、2,ord中的数字不按顺序排列:

id  ord
3   0.8899110606358904
4   0.3766916056055071
1   0.09029531483086539
2   0.7446466436351866
那么,黑斑羚不明白《秩序》的哪一部分?或者我缺少什么?

似乎是这样。这在黑斑羚2.9中已经被修复,但我还没有测试过

同时,由于我不需要非常稳健的随机性,我只使用:

order by mod((((unix_timestamp() + MY_ID_COLUMN) * 7621) + 1), 32768)
这种结果有一个明确的模式,但它可能足以愚弄一个不经意的观察者


感谢瓦姆西·普拉巴拉为我指明了正确的方向

看看jira问题,有什么解决办法的建议吗?有没有一个更少的随机函数我可以使用,因为我们只需要避免任何人类可识别的模式在行顺序中,我们不需要真正的随机性。我想我可以发明我自己的,但我想有更好的方法。