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 ) ]
Parameters
percentage PERCENT
Costante INTEGER o DECIMAL
percentage
compresa tra 0 e 100 che specifica la percentuale delle righe del tableda 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 positiva facoltativa
seed
, usata per produrre sempre la stessa set di righe. Utilizzare questa clausola quando si desidera rieseguire più volte la query, aspettandosi di ottenere 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