【发布时间】:2011-02-01 07:00:59
【问题描述】:
我需要审查我的解决方案,以便从存储在 MPP 机器(当前为 Netezza,稍后可能是 hadoop/等)上的表中采样 100 个随机行
我对使用 Netezza 的 rand() 不感兴趣,因为我希望以后能够重现相同的样本,而且我不指望 setseed()。
我现在使用的解决方案是:
SELECT * FROM MY_TABLE ORDER BY ID % 371, ID % 17, ID % 501, ID LIMIT 100
这 3 个数字是我自己的 RNG 生成的素数。 我在正确的轨道上吗? 这个“随机”样本足够随机吗?
注意:我不需要它是一个加密的强随机样本,我只是想确保我每次都选择不同的样本,并且采样均匀,并且我希望能够轻松地重现我的如果需要,示例(通过执行相同的 SQL)。
谢谢!
【问题讨论】:
标签: sql algorithm random data-mining netezza