Clausola TABLESAMPLE
Si applica a: controllo SQL di Databricks
Databricks Runtime
L'istruzione TABLESAMPLE
viene utilizzata 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 compresa
percentage
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 all'esterno 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:
controllo SQL di Databricks
Databricks Runtime 11.0 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 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