As funções uniqTheta trabalham com dois objetos uniqThetaSketch para realizar cálculos de operações de conjunto, como ∪ / ∩ / × (união/interseção/diferença), retornando um novo objeto uniqThetaSketch que contém o resultado.
Um objeto uniqThetaSketch é construído usando a função de agregação uniqTheta com -State.
UniqThetaSketch é uma estrutura de dados que armazena conjuntos aproximados de valores.
Para mais informações, consulte: Theta Sketch Framework.
Dois objetos uniqThetaSketch para realizar o cálculo de união (operação de conjuntos ∪); o resultado é um novo uniqThetaSketch.
uniqThetaUnion(uniqThetaSketch,uniqThetaSketch)
Argumentos
uniqThetaSketch – objeto uniqThetaSketch.
Exemplo
SELECT finalizeAggregation(uniqThetaUnion(a, b)) AS a_union_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[1,2]) AS a, arrayReduce('uniqThetaState',[2,3,4]) AS b );
┌─a_union_b─┬─a_cardinality─┬─b_cardinality─┐
│ 4 │ 2 │ 3 │
└───────────┴───────────────┴───────────────┘
Dois objetos uniqThetaSketch para realizar o cálculo de interseção (operação de conjuntos ∩); o resultado é um novo uniqThetaSketch.
uniqThetaIntersect(uniqThetaSketch,uniqThetaSketch)
Argumentos
uniqThetaSketch – objeto uniqThetaSketch.
Exemplo
SELECT finalizeAggregation(uniqThetaIntersect(a, b)) AS a_intersect_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[1,2]) AS a, arrayReduce('uniqThetaState',[2,3,4]) AS b );
┌─a_intersect_b─┬─a_cardinality─┬─b_cardinality─┐
│ 1 │ 2 │ 3 │
└───────────────┴───────────────┴───────────────┘
Dois objetos uniqThetaSketch são usados para realizar o cálculo a_not_b (operação de conjunto ×); o resultado é um novo uniqThetaSketch.
uniqThetaNot(uniqThetaSketch,uniqThetaSketch)
Argumentos
uniqThetaSketch – objeto uniqThetaSketch.
Exemplo
SELECT finalizeAggregation(uniqThetaNot(a, b)) AS a_not_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[2,3,4]) AS a, arrayReduce('uniqThetaState',[1,2]) AS b );
┌─a_not_b─┬─a_cardinality─┬─b_cardinality─┐
│ 2 │ 3 │ 2 │
└─────────┴───────────────┴───────────────┘
Veja também
Última modificação em 10 de junho de 2026