Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Databricks SQL
Databricks Runtime
Instruktionen TABLESAMPLE
används för att testa 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
. -
TABLESAMPLE
stöder inte filter-pushdowns eftersom samplingen föregår tillämpningen av andra filter, till exempelWHERE
satser.
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