다음을 통해 공유


CREATE BLOOM FILTER INDEX

적용 대상: 예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

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

구문

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

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

매개 변수

이미 작성된 데이터에 대한 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 필터 인덱스를 참조하세요.