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()