雅典娜大小为N的随机样本

时间:2017-06-13 00:44:16

标签: presto amazon-athena

我试图从雅典娜那里获得N行的随机样本。但是,由于我想从中抽取这个样本的表格是天真的

SELECT
id
FROM mytable
ORDER BY RANDOM()
LIMIT 100

需要永远运行,大概是因为ORDER BY要求将所有数据发送到单个节点,然后对数据进行随机排序和排序。

我知道TABLESAMPLE但是这样可以让人们抽取一定比例的行而不是一些行。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:9)

Athena实际上是Presto的幕后推手。您可以使用TABLESAMPLE获取表格的随机样本。

假设您想要10%的表格样本,您的查询将类似于:

SELECT id FROM mytable TABLESAMPLE BERNOULLI(10)

注意有BERNOULLI和SYSTEM采样。 Here是它的文档。