Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Databricks Runtime
A instrução TABLESAMPLE é usada para fazer a amostragem da relação.
Sintaxe
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
Parâmetros
percentage PERCENTUma constante inteira ou decimal entre 0 e 100 especificando a porcentagem das linhas da tabela que deve ser amostrada.
num_rows ROWSUma expressão
num_rowsINTEGER positiva constante especificando um número absoluto de linhas de todas as linhas a serem amostradas.BUCKET fraction OUT OF totalUma constante
fractionINTEGER especificando a parte da constantetotalINTEGER a ser amostrada.REPEATABLE ( seed )Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posterioresUma constante INTEGER positiva opcional
seed, usada para sempre produzir o mesmo conjunto de linhas. Use essa cláusula quando quiser reemitir a consulta várias vezes e esperar o mesmo conjunto de linhas amostradas.
Observação
-
TABLESAMPLEretorna o número aproximado de linhas ou fração solicitada. - Sempre use
TABLESAMPLE (percent PERCENT)se a aleatoriedade for importante.TABLESAMPLE (num_rows ROWS)is não é uma simples amostra aleatória, mas é implementada usandoLIMIT. -
TABLESAMPLEnão dá suporte à aplicação de filtros em camadas, pois a amostragem precede a aplicação de quaisquer outros filtros, como cláusulasWHERE.
Exemplos
> 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