다음을 통해 공유


CREATE BLOOM FILTER INDEX

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

새 데이터 또는 다시 작성된 데이터에 대한 Bloom 필터 인덱스를 만듭니다. 기존 데이터에 대한 Bloom 필터를 만들지 않습니다. 테이블 이름이나 열 중 하나가 없으면 명령이 실패합니다. 열에 대해 Bloom 필터링이 활성화되면 기존 Bloom 필터 옵션이 새 옵션으로 대체됩니다.

구문

CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]

options
  OPTIONS ( { key1 [ = ] val1 } [, ...] )

매개 변수

  • table_name

    기존 델타 테이블을 식별합니다. 이름에는 임시 사양이 포함되지 않아야 합니다.

이미 작성된 데이터에 대한 Bloom 필터 인덱스를 빌드할 수는 없지만 OPTIMIZE 명령은 재구성된 데이터에 대한 Bloom 필터를 업데이트합니다. 따라서 테이블에서 OPTIMIZE를 실행하여 Bloom 필터를 백필할 수 있습니다.

  • 이전에 테이블을 최적화하지 않은 경우
  • 다른 파일 크기 사용. 데이터 파일을 다시 작성해야 합니다.
  • ZORDER(또는 이미 있는 경우 다른 ZORDER) 사용. 데이터 파일을 다시 작성해야 합니다.

열 수준 또는 테이블 수준에서 옵션을 정의하여 Bloom 필터를 튜닝할 수 있습니다.

  • fpp: 가양성 확률입니다. 작성된 Bloom 필터당 원하는 가양성 비율입니다. 단일 항목을 Bloom 필터에 넣는 데 필요한 비트 수와 Bloom 필터의 크기에 영향을 줍니다. 값은 0보다 크고 1보다 작거나 같아야 합니다. 기본값은 0.1로, 항목당 5비트가 필요합니다.
  • numItems: 파일에 포함될 수 있는 고유 항목 수입니다. 이 설정은 Bloom 필터에서 사용되는 총 비트 수(항목 수 - 항목당 비트 수)에 영향을 주기 때문에 필터링 품질에 중요합니다. 이 설정이 올바르지 않으면 Bloom 필터가 매우 드물게 채워지거나, 디스크 공간을 낭비하고, 이 파일을 다운로드해야 하는 쿼리가 느려지거나, 너무 꽉 차 정확도가 떨어집니다(더 높은 FPP). 값은 0보다 커야 합니다. 기본값은 100만 개 항목입니다.
  • maxExpectedFpp: Bloom 필터가 디스크에 기록되는 최대 예상 가양성 확률입니다. 예상 FPP가 이 임계값보다 크면 Bloom 필터의 선택도가 너무 낮습니다. Bloom 필터를 사용하는 데 걸리는 시간과 리소스가 유용성보다 큽니다. 값은 0에서 1 사이여야 합니다. 기본값은 1.0(사용 안 함)입니다.

이러한 옵션은 데이터를 작성할 때만 적용됩니다. 쓰기 작업, 테이블 수준, 열 수준과 같은 다양한 계층 수준에서 관련 속성을 구성할 수 있습니다. 열 수준이 테이블 및 작업 수준보다 우선하고, 테이블 수준이 작업 수준보다 우선합니다.

Bloom 필터 인덱스를 참조하세요.