Clausola TABLESAMPLE
Si applica a: Databricks SQL Databricks Runtime
L'istruzione TABLESAMPLE
viene usata per campionare la relazione.
Sintassi
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
Parametri
percentage PERCENT
Costante INTEGER o DECIMAL
percentage
compresa tra 0 e 100 che specifica la percentuale delle righe della tabella da campionare.num_rows ROWS
Espressione INTEGER
num_rows
positiva costante che specifica un numero assoluto di righe di tutte le righe da campionare.BUCKET fraction OUT OF total
Costante
fraction
INTEGER che specifica la parte della costantetotal
INTEGER da campionare.REPEATABLE ( seed )
Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Costante INTEGER
seed
positiva facoltativa , utilizzata per produrre sempre lo stesso set di righe. Usare questa clausola quando si vuole eseguire più volte la query e si prevede lo stesso set di righe campionate.
Nota
TABLESAMPLE
restituisce il numero approssimativo di righe o frazioni richieste.- Usare
TABLESAMPLE (percent PERCENT)
sempre se la casualità è importante.TABLESAMPLE (num_rows ROWS)
non è un semplice esempio casuale, ma viene invece implementato usandoLIMIT
.
Esempi
> 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