bitwiseXOR(column1, column2)
Описание
Функция bitwiseXOR()
выполняет побитовую операцию исключающее ИЛИ (XOR) между двумя числами. Каждый бит результата равен 1, если соответствующие биты операндов различны, иначе 0.
Параметры
column1
: Column - первый числовой столбецcolumn2
: Column - второй числовой столбец
Возвращаемое значение
Integer - результат побитовой операции исключающее ИЛИ
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import bitwiseXOR
# Создаем SparkSession
spark = SparkSession.builder.appName("bitwiseXOR_example").getOrCreate()
# Создаем DataFrame с числами
data = [
(5, 3), # 0101 ^ 0011 = 0110
(10, 6), # 1010 ^ 0110 = 1100
(15, 7) # 1111 ^ 0111 = 1000
]
df = spark.createDataFrame(data, ["number1", "number2"])
# Выполняем побитовую операцию исключающее ИЛИ
result = df.select(
"number1",
"number2",
bitwiseXOR("number1", "number2").alias("result")
).show()
# Результат:
# +-------+-------+------+
# |number1|number2|result|
# +-------+-------+------+
# | 5| 3| 6|
# | 10| 6| 12|
# | 15| 7| 8|
# +-------+-------+------+
Примечания
- Функция работает только с целыми числами
- Для отрицательных чисел операция выполняется над их двоичным представлением
- Для других побитовых операций используйте
bitwiseAND()
иbitwiseOR()
- Для работы с отдельными битами используйте
bit_get()
,bit_set()
иbit_count()