Skip to content

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