- Categorias:
Funções de agregação (Cardinality Estimation) , Sintaxe e uso da função de janela
DATASKETCHES_HLL_COMBINE¶
Combina (mescla) os esboços de entrada em um único esboço de saída.
Essa função é uma versão da função HLL HyperLogLog que pode ler esboços de binário no formato usado pelo Apache DataSketches. Para obter mais informações, consulte a documentação do Apache DataSketches.
Essa função permite cenários em que a função DATASKETCHES_HLL_ACCUMULATE é executada em partições horizontais da mesma tabela, produzindo um esboço de algoritmo para cada partição da tabela. Esses esboços podem ser combinados posteriormente com o uso dessa função, produzindo o mesmo esboço de saída que uma única execução do DATASKETCHES_HLL_ACCUMULATE em toda a tabela.
- Consulte também:
Sintaxe¶
DATASKETCHES_HLL_COMBINE( [ DISTINCT ] <state> [ , <max_log_k> ] )
Argumentos exigidos¶
state
Uma expressão que contém informações de estado geradas por uma chamada para DATASKETCHES_HLL_ACCUMULATE.
Argumentos opcionais¶
max_log_k
O valor máximo, em log2, de K para essa união. Especifique um valor INTEGER entre 4 e 21, inclusive. Para obter mais informações, consulte a documentação do Apache DataSketches.
Padrão: 12
Retornos¶
A função retorna um valor BINARY que é compatível com a biblioteca Apache Datasketches.
Notas de uso¶
DISTINCT é suportado sintaticamente, mas não tem efeito.
Exemplos¶
Criar uma tabela e inserir valores:
CREATE OR REPLACE TABLE datasketches_demo(v INT, g INT);
INSERT INTO datasketches_demo SELECT 1, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 5, 2;
O exemplo a seguir executa as seguintes ações:
A função DATASKETCHES_HLL_ACCUMULATE cria dois esboços de binário para os dados na coluna
v
, agrupados pelos valores1
e2
na colunag
.A função DATASKETCHES_HLL_COMBINE combina esses esboços de binário.
WITH
accumulated AS (
SELECT g,
DATASKETCHES_HLL_ACCUMULATE(v) AS accumulated_sketches
FROM datasketches_demo
GROUP BY g)
SELECT DATASKETCHES_HLL_COMBINE(accumulated_sketches) AS combined_sketches
FROM accumulated;
+--------------------------------------------------+
| COMBINED_SKETCHES |
|--------------------------------------------------|
| 0201070C030804002BF2FB06862FF90D81BC5D067B65E608 |
+--------------------------------------------------+
Você pode ver os valores dos esboços acumulados no exemplo em DATASKETCHES_HLL_ACCUMULATE.