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