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()
- побитовое НЕ