Skip to content

bit_or(col)

Описание

Функция bit_or() выполняет побитовую операцию OR над всеми ненулевыми значениями в столбце. Это агрегатная функция, которая должна использоваться с groupBy().

Параметры

  • col: Column - числовой столбец для побитовой операции OR

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

Long - результат побитовой операции OR

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

from pyspark.sql.functions import bit_or
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    ("A", 1),  # 01
    ("A", 2),  # 10
    ("A", 4),  # 100
    ("B", 3),  # 11
    ("B", 5),  # 101
    ("B", 6)   # 110
]
df = spark.createDataFrame(data, ["group", "value"])

# Используем bit_or для побитовой операции OR
result = df.groupBy("group").agg(
    bit_or("value").alias("bit_or_result")
).show()

# Результат:
# +-----+------------+
# |group|bit_or_result|
# +-----+------------+
# |A    |7           |  # 01 | 10 | 100 = 111
# |B    |7           |  # 11 | 101 | 110 = 111
# +-----+------------+

Примечания

  • NULL значения игнорируются при вычислении
  • Если все значения NULL, возвращается NULL
  • Для побитовой операции AND используйте bit_and()
  • Для побитовой операции XOR используйте bit_xor()
  • Для логической операции OR используйте bool_or()