블룸 필터 인덱스 만들기

적용 대상:검사 표시됨 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

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

구문

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

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

매개 변수

  • Table_name

    기존 Delta 테이블을 식별합니다. 이름에 임시 사양이 포함되어서는 안됩니다.

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

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

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

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

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

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