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()
для инвертирования битов (альтернативный синтаксис)