bit_and(col)
Описание
Функция bit_and()
выполняет побитовую операцию AND над всеми ненулевыми значениями в столбце. Это агрегатная функция, которая должна использоваться с groupBy()
.
Параметры
col
: Column - числовой столбец для побитовой операции AND
Возвращаемое значение
Long - результат побитовой операции AND
Пример использования
from pyspark.sql.functions import bit_and
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("bit_and_example").getOrCreate()
# Создаем DataFrame
data = [
("A", 1), # 01
("A", 3), # 11
("A", 5), # 101
("B", 2), # 10
("B", 6), # 110
("B", 4) # 100
]
df = spark.createDataFrame(data, ["group", "value"])
# Используем bit_and для побитовой операции AND
result = df.groupBy("group").agg(
bit_and("value").alias("bit_and_result")
).show()
# Результат:
# +-----+-------------+
# |group|bit_and_result|
# +-----+-------------+
# |A |1 | # 01 & 11 & 101 = 01
# |B |0 | # 10 & 110 & 100 = 000
# +-----+-------------+
Примечания
- NULL значения игнорируются при вычислении
- Если все значения NULL, возвращается NULL
- Для побитовой операции OR используйте
bit_or()
- Для побитовой операции XOR используйте
bit_xor()
- Для логической операции AND используйте
bool_and()