Share via


TABLESAMPLE 절

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks 런타임

TABLESAMPLE 문은 관계를 샘플링하는 데 사용됩니다.

구문

TABLESAMPLE ( { percentage PERCENT ) |
                num_rows ROWS |
                BUCKET fraction OUT OF total } )
            [ REPEATABLE ( seed ) ]

매개 변수

  • percentage PERCENT

    샘플링할 테이블 행의 백분율을 지정하는 0에서 100 사이의 INTEGER 또는 DECIMAL 상수 percentage입니다.

  • num_rows ROWS

    샘플링할 모든 행 중에서 절대 행 수를 지정하는 상수 양의 INTEGER 식 num_rows입니다.

  • BUCKET fraction OUT OF total

    INTEGER 상수 fraction 중에서 샘플링할 부분을 지정하는 INTEGER 상수 total입니다.

  • REPEATABLE ( seed )

    적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 11.3 LTS 이상

    항상 동일한 행 세트를 생성하는 데 사용되는 선택적 양의 INTEGER 상수 seed입니다. 쿼리를 여러 번 다시 실행하려는 경우 샘플링된 행의 동일한 집합이 필요하면 이 절을 사용합니다.

참고 항목

  • TABLESAMPLE은 요청된 대략적 행 수 또는 분수를 반환합니다.
  • 임의성이 중요한 경우 항상 TABLESAMPLE (percent PERCENT)을 사용합니다. TABLESAMPLE (num_rows ROWS)은 간단한 임의 샘플이 아니라 LIMIT를 사용하여 구현됩니다.

예제

> 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