Skip to content

bit_set(column, pos)

Описание

Функция bit_set() устанавливает бит в указанной позиции двоичного представления числа в значение 1. Позиция отсчитывается справа налево, начиная с 0.

Параметры

  • column: Column - числовой столбец
  • pos: Integer - позиция бита (0 - младший бит)

Возвращаемое значение

Integer - число с установленным битом

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import bit_set

# Создаем SparkSession
spark = SparkSession.builder.appName("bit_set_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (0,),  # 0000
    (1,),  # 0001
    (2,)   # 0010
]
df = spark.createDataFrame(data, ["number"])

# Устанавливаем биты
result = df.select(
    "number",
    bit_set("number", 0).alias("bit0_set"),
    bit_set("number", 1).alias("bit1_set"),
    bit_set("number", 2).alias("bit2_set")
).show()

# Результат:
# +------+---------+---------+---------+
# |number|bit0_set|bit1_set|bit2_set|
# +------+---------+---------+---------+
# |     0|        1|        2|        4|
# |     1|        1|        3|        5|
# |     2|        3|        2|        6|
# +------+---------+---------+---------+

Примечания

  • Позиция бита отсчитывается справа налево, начиная с 0
  • Если позиция отрицательная или больше размера числа, возвращается исходное число
  • Для получения значения бита используйте bit_get() или getbit()
  • Для подсчета количества установленных битов используйте bit_count()
  • Для побитовых операций используйте bitwiseAND(), bitwiseOR() и bitwiseXOR()