Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 PERCENTCostante INTEGER o DECIMAL
percentagecompresa tra 0 e 100 che specifica la percentuale delle righe della tabella da campionare.num_rows ROWSEspressione costante positiva INTEGER
num_rowsche specifica un numero assoluto di righe da campionare tra tutte le righe.BUCKET fraction OUT OF totalCostante intera
fractionche specifica la parte della costante interatotalda campionare.REPEATABLE ( seed )Si applica a:
Databricks SQL
Databricks Runtime 11.3 LTS e versioni successiveUna facoltativa costante intera positiva
seed, utilizzata per produrre sempre lo stesso set di righe. Usare questa clausola quando si vuole eseguire più volte la query e ci si aspetta di ottenere lo stesso insieme di righe campionate.
Nota
-
TABLESAMPLErestituisce 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. -
TABLESAMPLEnon supporta il pushdown dei filtri perché il campionamento precede l'applicazione di altri filtri, come le clausoleWHERE.
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