Compartilhar via


CREATE BLOOM FILTER INDEX

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Cria um índice do filtro Bloom para dados novos ou reescritos; não cria filtros de Bloom para os dados existentes. O comando falhará se o nome da tabela ou uma das colunas não existir. Se a filtragem de Bloom estiver habilitada em uma coluna, as opções de filtro Bloom existentes serão substituídas pelas novas opções.

Sintaxe

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

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

Parâmetros

  • table_name

    Identifica uma tabela do Delta existente. O nome não deve incluir uma especificação temporal ou especificação de opções.

Embora não seja possível criar um índice de filtro Bloom para dados já gravados, o comando OPTIMIZAR atualiza os filtros Bloom dos dados reorganizados. Portanto, você pode provisionar um filtro Bloom executando OPTIMIZE em uma tabela:

  • Se você não tiver otimizado a tabela anteriormente.
  • Com um tamanho de arquivo diferente, exigindo que os arquivos de dados sejam gravados novamente.
  • Com um ZORDER (ou um ZORDER diferente, se estiver presente), exigindo que os arquivos de dados sejam regravados.

Você pode ajustar o filtro Bloom definindo as opções na coluna ou na tabela:

  • fpp: probabilidade de falso positivo. A taxa de falsos positivos desejada por filtro Bloom gravado. Isso influencia o número de bits necessários para colocar um único item no filtro Bloom e influencia o tamanho do filtro Bloom. O valor deve ser superior a 0 e igual ou inferior a 1. O valor padrão é 0,1, que requer 5 bits por item.
  • numItems: número de itens distintos que o arquivo pode conter. Essa configuração é importante para a qualidade da filtragem, pois influencia o número total de bits usados no filtro Bloom (número de itens - número de bits por item). Se essa configuração estiver incorreta, o filtro Bloom será preenchido de forma esparsa, desperdiçando espaço em disco e reduzindo as consultas que devem baixar esse arquivo, ou ele ficará muito cheio e menos preciso (mais FPP). O valor deve ser superior a 0. O padrão é 1 milhão de itens.
  • maxExpectedFpp: a probabilidade máxima de falsos positivos esperada na qual um filtro Bloom será gravado. Se o FPP esperado for superior a esse limite, a seletividade do filtro Bloom será muito baixa; o tempo e os recursos necessários para usar o filtro Bloom superará sua utilidade. O valor deve estar entre 0 e 1. O padrão é 1.0 (desabilitado).

Essas opções desempenham uma função somente ao gravar os dados. Você pode configurar essas propriedades em vários níveis hierárquicos: operação de gravação, nível de tabela e nível de coluna. O nível de coluna tem precedência sobre os níveis de tabela e de operação, e o nível de tabela tem precedência sobre o nível de operação.

Confira Índices de filtro Bloom.