Skip to content

bit_xor(col)

Описание

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

Параметры

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

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

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

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

from pyspark.sql.functions import bit_xor
from pyspark.sql import SparkSession

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

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

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

# Результат:
# +-----+-------------+
# |group|bit_xor_result|
# +-----+-------------+
# |A    |0            |  # 01 ^ 11 ^ 10 = 00
# |B    |0            |  # 100 ^ 110 ^ 010 = 000
# +-----+-------------+

Примечания

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