CREATE BLOOM FILTER INDEX
적용 대상: Databricks SQL Databricks Runtime
새 데이터 또는 다시 작성된 데이터에 대한 Bloom 필터 인덱스를 만듭니다. 기존 데이터에 대한 Bloom 필터를 만들지 않습니다. table 이름 또는 columns 중 하나가 없으면 명령이 실패합니다. 블룸 필터링을 column에 대해 사용하도록 설정하면 기존 블룸 필터 옵션은 새 옵션으로 대체됩니다.
구문
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Parameters
-
기존 Delta table을 식별합니다. 이름에는 임시 사양 또는 옵션 사양이 포함되어서는 안됩니다.
이미 작성된 데이터에 대한 Bloom 필터 인덱스를 작성할 수는 없지만 OPTIMIZE 명령은 재구성된 데이터에 대해 Bloom 필터를 업데이트합니다. 따라서 OPTIMIZE
을 table에서 실행하여 Bloom 필터를 백필할 수 있습니다.
- 이전에 table최적화하지 않은 경우 .
- 다른 파일 크기 사용. 데이터 파일을 다시 작성해야 합니다.
-
ZORDER
(또는 이미 있는 경우 다른ZORDER
) 사용. 데이터 파일을 다시 작성해야 합니다.
column 수준 또는 table 수준에서 옵션을 정의하여 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(사용 안 함)입니다.
이러한 옵션은 데이터를 작성할 때만 적용됩니다. 쓰기 작업, table 수준 및 column 수준과 같은 다양한 계층적 수준에서 이러한 속성을 구성할 수 있습니다. column 수준은 table 및 작업 수준보다 우선하며 table 수준이 작업 수준보다 우선합니다.
Bloom 필터 인덱스를 참조하세요.