【发布时间】:2020-12-22 21:11:05
【问题描述】:
我目前正在寻找如何从表中获取随机数据样本的最佳方法(例如在 HIVE 中)。我知道 PRESTO 提供了 RANDOM() 函数或 TABLESAMPLE BERNOULLI/SYSTEM。问题是查询记录数较多的表时,耗时较长,不适合与JayDeBeApi合作,可能会关闭连接,等待响应时间过长。
我更喜欢使用 TABLESAMPLE BERNOULLI/SYSTEM,它将要获取的记录的百分比作为参数。与ORACLE、SAP或MSSQL数据库相比,可以通过精确的百分比,即0.003123412%,PRESTO不允许你,尽管功能非常相似,一切都在1-100%的范围内转换。
有人知道如何解决这个问题吗?我宁愿避免与 TABLESAMPLE BERNOULLI/SYSTEM 合作的 limit 子句,这可能无法按预期工作。
【问题讨论】: