Skip to content

bitmap_or_agg(bitmap)

Описание

Функция bitmap_or_agg() выполняет побитовую операцию ИЛИ (OR) над набором битовых карт, объединяя их в одну.

Параметры

  • bitmap: Column - столбец с битовыми картами

Возвращаемое значение

Binary - объединенная битовая карта

Пример использования

from pyspark.sql.functions import bitmap_construct_agg, bitmap_or_agg
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("bitmap_or_agg_example").getOrCreate()

# Создаем DataFrame с двумя группами чисел
data = [
    (1, "group1"),
    (2, "group1"),
    (3, "group1"),
    (4, "group2"),
    (5, "group2"),
    (6, "group2")
]
df = spark.createDataFrame(data, ["number", "group"])

# Создаем битовые карты для каждой группы и объединяем их
result = df.groupBy("group").agg(
    bitmap_or_agg(bitmap_construct_agg("number")).alias("combined_bitmap")
).show(truncate=False)

# Результат:
# +------+------------------+
# |group |combined_bitmap   |
# +------+------------------+
# |group1|[binary data]     |
# |group2|[binary data]     |
# +------+------------------+

Примечания

  • NULL значения игнорируются
  • Для работы с битовыми картами также используйте:
  • bitmap_construct_agg() для создания битовой карты
  • bitmap_count() для подсчета установленных битов
  • bitwise_not() для инвертирования битов
  • bitwiseNOT() для инвертирования битов (альтернативный синтаксис)