bitmap_bit_position(bitmap, bit)
Описание
Функция bitmap_bit_position()
возвращает позицию указанного бита в битовой карте.
Параметры
bitmap
: Column - битовая картаbit
: Column - бит, позицию которого нужно найти
Возвращаемое значение
Column - позиция бита в битовой карте (тип Integer)
Пример использования
from pyspark.sql.functions import bitmap_bit_position, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("bitmap_bit_position_example").getOrCreate()
# Создаем DataFrame с битовыми картами
data = [
(0b1010,), # 10 в двоичном виде
(0b1100,) # 12 в двоичном виде
]
df = spark.createDataFrame(data, ["bitmap"])
# Находим позиции битов
result = df.withColumn(
"bit_1_position",
bitmap_bit_position("bitmap", lit(1))
).withColumn(
"bit_0_position",
bitmap_bit_position("bitmap", lit(0))
)
result.show(truncate=False)
# Результат:
# +------+---------------+---------------+
# |bitmap|bit_1_position|bit_0_position|
# +------+---------------+---------------+
# |10 |1 |0 |
# |12 |2 |0 |
# +------+---------------+---------------+
Примечания
- Возвращает NULL, если битовая карта NULL
- Позиции нумеруются с 0
- Полезно для:
- Анализа битовых карт
- Поиска установленных битов
- Работы с битовыми масками
- Связанные функции:
bitmap_bucket_number()
- номер корзины битовой картыbitmap_count()
- подсчет установленных битов