Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime
La instrucción TABLESAMPLE se usa para muestrear la relación.
Sintaxis
TABLESAMPLE ( { percentage PERCENT ) |
num_rows ROWS |
BUCKET fraction OUT OF total } )
[ REPEATABLE ( seed ) ]
Parámetros
percentage PERCENTConstante INTEGER o DECIMAL
percentageentre 0 y 100 que especifica qué porcentaje de las filas de la tabla se van a muestrear.num_rows ROWSExpresión constante de tipo INTEGER
num_rowspositiva que especifica un número absoluto de filas de todas las filas que se van a muestrear.BUCKET fraction OUT OF totalConstante de tipo INTEGER
fractionque especifica la parte de la constantetotalde tipo INTEGER que se va a muestrear.REPEATABLE ( seed )Se aplica a:
Databricks SQL
Databricks Runtime 11.3 LTS y versiones posterioresConstante INTEGER
seedpositiva opcional que se usa para generar siempre el mismo conjunto de filas. Use esta cláusula cuando quiera volver emitir la consulta varias veces y espere el mismo conjunto de filas muestreadas.
Nota:
-
TABLESAMPLEdevuelve el número aproximado de filas o fracción solicitadas. - Use siempre
TABLESAMPLE (percent PERCENT)si la aleatoriedad es importante.TABLESAMPLE (num_rows ROWS)no es una muestra aleatoria simple, sino que se implementa medianteLIMIT. -
TABLESAMPLEno admite aplicaciones de filtro, ya que el muestreo precede a la aplicación de cualquier otro filtro, como las cláusulas deWHERE.
Ejemplos
> 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