概述
TABLESAMPLE
是 Lakehouse 平台提供的数据采样方法,支持基于概率或固定行数的随机采样。包含 SYSTEM(文件级)和 ROW(行级)两种采样策略,满足不同场景的性能与精度需求。
语法
SELECT <column_list>
FROM <table_name>
TABLESAMPLE [ROW | SYSTEM] ( { <probability> | <num> ROWS } )
[ ...其他子句... ]
参数说明
采样类型
类型 | 描述 |
---|
ROW | 行级随机:逐行独立判断,结果行数精准,适合小数据集 |
SYSTEM | 文件级随机:按文件块随机筛选,性能更高但结果可能波动,适合大数据场景 |
(默认) | 未指定时自动选择 SYSTEM 模式 |
采样量
格式 | 描述 |
---|
probabilityT | 按百分比采样(0~100),如 30 |
<数字> ROWS | 指定采样行数,如 5 ROWS |
使用示例
基础采样
CREATE VIEW test(id, name) AS
VALUES ( 1, 'Lisa'),
( 2, 'Mary'),
( 3, 'Evan'),
( 4, 'Fred'),
( 5, 'Alex'),
( 6, 'Mark'),
( 7, 'Lily'),
( 8, 'Lucy'),
( 9, 'Eric'),
(10, 'Adam');
-- 随机抽取30%数据(SYSTEM模式)
SELECT * FROM test TABLESAMPLE (30 ) ;
-- 随机抽取5行数据(SYSTEM模式)
SELECT * FROM test TABLESAMPLE (5 ROWS);
-- 精确抽取5行(ROW模式)
SELECT * FROM employee TABLESAMPLE ROW (5 ROWS);