TABLESAMPLE 子句
適用於: Databricks SQL Databricks Runtime
語句 TABLESAMPLE
是用來取樣關聯性。
語法
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
參數
percentage PERCENT
介於 0 到 100 之間的 INTEGER 或 DECIMAL 常數
percentage
,指定要取樣之數據表數據列的百分比。num_rows ROWS
常數正 INTEGER 運算式
num_rows
,指定要取樣之所有數據列的絕對數目。BUCKET fraction OUT OF total
INTEGER 常數,指定要取樣之 INTEGER 常數
fraction
total
中的部分。REPEATABLE ( seed )
適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
選擇性的正整數常數
seed
,用來一律產生相同的數據列集。 當您想要多次重新發出查詢,而且預期相同的取樣數據列集時,請使用這個子句。
注意
TABLESAMPLE
會傳回要求的大約數據列數或分數。- 如果隨機性很重要,請一律使用
TABLESAMPLE (percent PERCENT)
。TABLESAMPLE (num_rows ROWS)
不是簡單的隨機範例,而是使用LIMIT
實作 。
範例
> CREATE TEMPORARY 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');
> SELECT * FROM test;
5 Alex
8 Lucy
2 Mary
4 Fred
1 Lisa
9 Eric
10 Adam
6 Mark
7 Lily
3 Evan
> SELECT * FROM test TABLESAMPLE (30 PERCENT) REPEATABLE (123);
1 Lisa
2 Mary
3 Evan
5 Alex
8 Lucy
> SELECT * FROM test TABLESAMPLE (5 ROWS);
5 Alex
8 Lucy
2 Mary
4 Fred
1 Lisa
> SELECT * FROM test TABLESAMPLE (BUCKET 4 OUT OF 10);
8 Lucy
2 Mary
9 Eric
6 Mark