首先,我们了解一下抽样查询的SQL语法。
分桶抽样TABLESAMPLE (BUCKET x OUT OF y [ON colname])百份比抽样TABLESAMPLE (n PERCENT)行抽样TABLESAMPLE (n ROWS)大小抽样TABLESAMPLE (n{'b' | 'B' | 'k' | 'K' | 'm' | 'M' | 'g' | 'G'})
分桶抽样
根据hash(uid) % 20进行分桶,抽取第一个桶的数据。SELECT * FROM TABLE1 TABLESAMPLE(BUCKET 1 OUT OF 20 ON uid) t随机分桶,并抽取第一个桶的数据。SELECT * FROM TABLE1 TABLESAMPLE(BUCKET 1 OUT OF 20 ON rand()) t
百份比抽样
SELECT * FROM TABLE1 TABLESAMPLE(10.5 PERCENT) t
行抽样
SELECT * FROM TABLE1 TABLESAMPLE(105 ROWS) t
大小抽样
SELECT * FROM TABLE1 TABLESAMPLE(500M) t