bitwise_and(col1, col2)
Описание
Функция bitwise_and() выполняет побитовую операцию И (AND) между двумя целыми числами.
Параметры
col1: Column - первое целое числоcol2: Column - второе целое число
Возвращаемое значение
Column - результат побитовой операции И
Пример использования
from pyspark.sql.functions import bitwise_and, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("bitwise_and_example").getOrCreate()
# Создаем DataFrame с числами
data = [
    (5, 3),    # 101 & 011 = 001 (1)
    (10, 6),   # 1010 & 0110 = 0010 (2)
    (15, 7),   # 1111 & 0111 = 0111 (7)
    (0, 1),    # 0000 & 0001 = 0000 (0)
    (255, 15)  # 11111111 & 00001111 = 00001111 (15)
]
df = spark.createDataFrame(data, ["num1", "num2"])
# Выполняем побитовую операцию И
df = df.withColumn("result", bitwise_and("num1", "num2"))
df.show(truncate=False)
# Результат:
# +----+----+------+
# |num1|num2|result|
# +----+----+------+
# |5   |3   |1     |
# |10  |6   |2     |
# |15  |7   |7     |
# |0   |1   |0     |
# |255 |15  |15    |
# +----+----+------+
 Примечания
- Возвращает NULL, если любой из аргументов NULL
 - Работает только с целыми числами
 - Результат содержит биты, которые установлены в 1 в обоих числах
 - Полезно для:
 - Проверки установленных битов
 - Маскирования битов
 - Извлечения определенных битов из числа
 - Связанные функции:
 bitwise_or()- побитовое ИЛИbitwise_xor()- побитовое исключающее ИЛИbitwise_not()- побитовое НЕ