* Simplify 404 page * add es array_functions.md * restore some old manual anchors * update sitemaps * trigger checks * restore more old manual anchors * refactor test.md + temporary disable failure again * fix mistype
11 KiB
Funciones de mapa de bits
Las funciones de mapa de bits funcionan para dos mapas de bits Cálculo del valor del objeto, es devolver un nuevo mapa de bits o cardinalidad mientras se usa el cálculo de la fórmula, como y, o, xor, y no, etc.
Hay 2 tipos de métodos de construcción para Bitmap Object. Uno debe ser construido por la función de agregación groupBitmap con -State , el otro debe ser construido por Array Object . También es para convertir objeto de mapa de bits a objeto de matriz.
RoaringBitmap se envuelve en una estructura de datos, mientras que el almacenamiento real de los objetos de mapa de bits. Cuando la cardinalidad es menor o igual que 32, utiliza Set objet. Cuando la cardinalidad es mayor que 32, utiliza el objeto RoaringBitmap. Es por eso que el almacenamiento del conjunto de baja cardinalidad es más rápido.
Para obtener más información sobre RoaringBitmap, consulte: CRoaring.
bitmapBuild
Construya un mapa de bits a partir de una matriz de enteros sin signo.
bitmapBuild(array)
Parámetros
array
– matriz entera sin signo.
Ejemplo
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res)
┌─res─┬─toTypeName(bitmapBuild([1, 2, 3, 4, 5]))─────┐
│ │ AggregateFunction(groupBitmap, UInt8) │
└─────┴──────────────────────────────────────────────┘
bitmapToArray
Convertir mapa de bits a matriz entera.
bitmapToArray(bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘
bitmapSubsetInRange
Devuelve el subconjunto en el rango especificado (no incluye range_end).
bitmapSubsetInRange(bitmap, range_start, range_end)
Parámetros
bitmap
– Objeto de mapa de bits.range_start
– punto de inicio de la gama. Tipo: UInt32.range_end
– punto final de rango(excluido). Tipo: UInt32.
Ejemplo
SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res
┌─res───────────────┐
│ [30,31,32,33,100] │
└───────────────────┘
bitmapSubsetLimit
Crea un subconjunto de mapa de bits con n elementos tomados entre range_start
y cardinality_limit
.
Sintaxis
bitmapSubsetLimit(bitmap, range_start, cardinality_limit)
Parámetros
bitmap
– Objeto de mapa de bits.range_start
– El punto de partida del subconjunto. Tipo: UInt32.cardinality_limit
– El subconjunto cardinalidad límite superior. Tipo: UInt32.
Valor devuelto
Subconjunto.
Tipo: Bitmap object
.
Ejemplo
Consulta:
SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]), toUInt32(30), toUInt32(200))) AS res
Resultado:
┌─res───────────────────────┐
│ [30,31,32,33,100,200,500] │
└───────────────────────────┘
bitmapContains
Comprueba si el mapa de bits contiene un elemento.
bitmapContains(haystack, needle)
Parámetros
haystack
– Objeto de mapa de bits, donde la función busca.needle
– Valor que busca la función. Tipo: UInt32.
Valores devueltos
- 0 — Si
haystack
no contieneneedle
. - 1 — Si
haystack
contenerneedle
.
Tipo: UInt8
.
Ejemplo
SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res
┌─res─┐
│ 1 │
└─────┘
bitmapHasAny
Comprueba si dos mapas de bits tienen intersección por algunos elementos.
bitmapHasAny(bitmap1, bitmap2)
Si está seguro de que bitmap2
Esta es la página de desambiguación en 24symbols. bitmapContains función. Funciona de manera más eficiente.
Parámetros
bitmap*
– objeto de mapa de bits.
Valores de retorno
1
sibitmap1
ybitmap2
tienen un elemento similar al menos.0
, de lo contrario.
Ejemplo
SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
┌─res─┐
│ 1 │
└─────┘
bitmapHasAll
Análogo a hasAll(array, array)
devuelve 1 si el primer mapa de bits contiene todos los elementos del segundo, 0 de lo contrario.
Si el segundo argumento es un mapa de bits vacío, devuelve 1.
bitmapHasAll(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
┌─res─┐
│ 0 │
└─────┘
bitmapCardinalidad
Vuelva a ejecutar la cardinalidad del mapa de bits de tipo UInt64.
bitmapCardinality(bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─┐
│ 5 │
└─────┘
bitmapMin
Vuelva a ejecutar el valor más pequeño de tipo UInt64 en el conjunto, UINT32_MAX si el conjunto está vacío.
bitmapMin(bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapMin(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─┐
│ 1 │
└─────┘
bitmapMax
Vuelva a ejecutar el mayor valor de tipo UInt64 en el conjunto, 0 si el conjunto está vacío.
bitmapMax(bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapMax(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─┐
│ 5 │
└─────┘
bitmapTransform
Transformar una matriz de valores en un mapa de bits a otra matriz de valores, el resultado es un nuevo mapa de bits.
bitmapTransform(bitmap, from_array, to_array)
Parámetros
bitmap
– objeto de mapa de bits.from_array
– matriz UInt32. Para idx en el rango [0, from_array .size()), si el mapa de bits contiene from_array[idx] , luego reemplácelo con to_array[idx] . Tenga en cuenta que el resultado depende del orden de la matriz si hay elementos comunes entre from_array y to_array .to_array
– Matriz UInt32, su tamaño será el mismo que from_array.
Ejemplo
SELECT bitmapToArray(bitmapTransform(bitmapBuild([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), cast([5,999,2] as Array(UInt32)), cast([2,888,20] as Array(UInt32)))) AS res
┌─res───────────────────┐
│ [1,3,4,6,7,8,9,10,20] │
└───────────────────────┘
bitmapAnd
Dos mapa de bits y cálculo, el resultado es un nuevo mapa de bits.
bitmapAnd(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res─┐
│ [3] │
└─────┘
bitmapO
Dos mapa de bits o cálculo, el resultado es un nuevo mapa de bits.
bitmapOr(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘
bitmapXor
Dos bitmap xor cálculo, el resultado es un nuevo mapa de bits.
bitmapXor(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res───────┐
│ [1,2,4,5] │
└───────────┘
bitmapAndnot
Dos mapas de bits y no cálculo, el resultado es un nuevo mapa de bits.
bitmapAndnot(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res───┐
│ [1,2] │
└───────┘
Bienvenido a WordPress.
Dos mapa de bits y cálculo, devuelven cardinalidad de tipo UInt64.
bitmapAndCardinality(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapAndCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│ 1 │
└─────┘
bitmapOrCardinalidad
Dos mapa de bits o cálculo, retorno cardinalidad de tipo UInt64.
bitmapOrCardinality(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapOrCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│ 5 │
└─────┘
bitmapXorCardinalidad
Dos bitmap xor cálculo, retorno cardinalidad de tipo UInt64.
bitmapXorCardinality(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapXorCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│ 4 │
└─────┘
Por favor, introduzca su dirección de correo electrónico
Dos mapas de bits yno cálculo, devuelve cardinalidad de tipo UInt64.
bitmapAndnotCardinality(bitmap,bitmap)
Parámetros
bitmap
– objeto de mapa de bits.
Ejemplo
SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│ 2 │
└─────┘