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 PERCENTEtt HELTAL eller DECIMAL-konstant
percentagemellan 0 och 100 som anger vilken procentandel av tabellens rader som ska samplas.num_rows ROWSEtt konstant positivt HELTAL-uttryck
num_rowssom anger ett absolut antal rader av alla rader som ska samplas.BUCKET fraction OUT OF totalEn HELTAL-konstant
fractionsom anger den del av HELTAL-konstantentotalsom ska samplas.REPEATABLE ( seed )Gäller för:
Databricks SQL
Databricks Runtime 11.3 LTS och senareEn valfri positiv HELTAL-konstant
seedsom 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
-
TABLESAMPLEreturnerar 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. -
TABLESAMPLEstöder inte filter-pushdowns eftersom samplingen föregår tillämpningen av andra filter, till exempelWHEREsatser.
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