TABLESAMPLE-sats
Gäller för: Databricks SQL Databricks Runtime
-instruktionen TABLESAMPLE
används för att sampla relationen.
Syntax
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
Parametrar
percentage PERCENT
Ett HELTAL eller DECIMAL-konstant
percentage
mellan 0 och 100 som anger vilken procentandel av tabellens rader som ska samplas.num_rows ROWS
Ett konstant positivt HELTAL-uttryck
num_rows
som anger ett absolut antal rader av alla rader som ska samplas.BUCKET fraction OUT OF total
En HELTAL-konstant
fraction
som anger den del av HELTAL-konstantentotal
som ska samplas.REPEATABLE ( seed )
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
En valfri positiv HELTAL-konstant
seed
som används för att alltid skapa samma uppsättning rader. Använd den här satsen när du vill återutge frågan flera gånger och du förväntar dig samma uppsättning samplade rader.
Kommentar
TABLESAMPLE
returnerar det ungefärliga antalet rader eller bråk som begärts.- Använd
TABLESAMPLE (percent PERCENT)
alltid om slumpmässighet är viktigt.TABLESAMPLE (num_rows ROWS)
är inte ett enkelt slumpmässigt exempel utan implementeras i stället med hjälp avLIMIT
.
Exempel
> 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