【发布时间】:2017-11-14 14:17:29
【问题描述】:
我正在尝试从 Athena 获取N 行的随机样本。但是由于我想从中提取这个样本的表格很大,所以很天真
SELECT
id
FROM mytable
ORDER BY RANDOM()
LIMIT 100
运行需要很长时间,大概是因为ORDER BY 要求将所有数据发送到单个节点,然后该节点对数据进行打乱和排序。
我知道TABLESAMPLE,但这允许人们对一定百分比的行进行采样,而不是对其中的一些行进行采样。有更好的方法吗?
【问题讨论】:
-
您使用的是什么类型的连接器?在蜂巢连接器上,每次运行简单的
SELECT * FROM t LIMIT 10时,我得到的行略有不同。我认为它偏向于更新的数据,因为不同的节点赢得了每次返回结果的“竞赛”。您的样本需要做到多公正?
标签: presto amazon-athena