Bitmap Functions
Bitmaps can be constructed in two ways. The first way is constructed by aggregation function groupBitmap with -State
, the other way is to constructed a bitmap from an Array object.
bitmapAnd
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns a bitmap containing bits present in both input bitmaps. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapAndCardinality
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the number of set bits in the intersection of the two bitmaps. UInt64
.
Examples
Usage example
bitmapAndnot
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns a bitmap containing set bits present in the first bitmap but not in the second. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapAndnotCardinality
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the number of set bits in the result of bitmap1 AND-NOT bitmap2
. UInt64
.
Examples
Usage example
bitmapBuild
Introduced in: v20.1
Syntax
Arguments
array
— Unsigned integer array.Array(UInt*)
.
Returned value
Returns a bitmap from the provided array. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapCardinality
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the number of bits set in the bitmap. UInt64
Examples
Usage example
bitmapContains
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.value
— Element to check for. (U)Int8/16/32/64
Returned value
Returns 1
if the bitmap contains the specified value, otherwise 0
. UInt8
Examples
Usage example
bitmapHasAll
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns 1
if all set bits of the second bitmap are present in the first bitmap, otherwise 0
. UInt8
Examples
Usage example
bitmapHasAny
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns 1
if any bits of the second bitmap are present in the first bitmap, otherwise 0
. UInt8
Examples
Usage example
bitmapMax
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the position of the greatest bit set in the bitmap, otherwise 0
. UInt64
.
Examples
Usage example
bitmapMin
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the position of the smallest bit set in the bitmap, or UINT32_MAX
/UINT64_MAX
. UInt64
.
Examples
Usage example
bitmapOr
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns a bitmap containing set bits present in either input bitmap. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapOrCardinality
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the number of set bits in the union of the two bitmaps. UInt64
.
Examples
Usage example
bitmapSubsetInRange
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap to extract the subset from.AggregateFunction(groupBitmap, T)
.start
— Start of the range (inclusive).UInt*
end
— End of the range (exclusive).UInt*
Returned value
Returns a bitmap containing only the set bits in the specified range. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapSubsetLimit
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.range_start
— Start of the range (inclusive).UInt32
cardinality_limit
— Maximum cardinality of the subset.UInt32
Returned value
Returns a bitmap containing at most cardinality_limit
set bits, starting from range_start
. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapToArray
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap to convert.AggregateFunction(groupBitmap, T)
.
Returned value
Returns an array of unsigned integers contained in the bitmap. Array(UInt*)
Examples
Usage example
bitmapTransform
Introduced in: v20.1
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.from_array
— Array of original set bits to be replaced.Array(T)
.to_array
— Array of new set bits to replace with.Array(T)
.
Returned value
Returns a bitmap with elements transformed according to the given mapping. AggregateFunction(groupBitmap, T)
.
Examples
Usage example
bitmapXor
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns a bitmap containing set bits present in either input bitmap, but not in both. AggregateFunction(groupBitmap, T)
Examples
Usage example
bitmapXorCardinality
Introduced in: v20.1
Syntax
Arguments
bitmap1
— First bitmap object.AggregateFunction(groupBitmap, T)
.bitmap2
— Second bitmap object.AggregateFunction(groupBitmap, T)
.
Returned value
Returns the number of set bits in the symmetric difference of the two bitmaps. UInt64
.
Examples
Usage example
subBitmap
Introduced in: v21.9
Syntax
Arguments
bitmap
— Bitmap object.AggregateFunction(groupBitmap, T)
.offset
— Number of set bits to skip from the beginning (zero-based).UInt32
cardinality_limit
— Maximum number of set bits to include in the subset.UInt32
Returned value
Returns a bitmap containing at most limit
set bits, starting after skipping offset
set bits in ascending order. AggregateFunction(groupBitmap, T)
Examples
Usage example