Skip to content

unhex(col)

Описание

Функция unhex() преобразует строку, содержащую шестнадцатеричные символы, в бинарные данные.

Параметры

  • col: Column - столбец со строками в шестнадцатеричном формате

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

Binary - декодированные бинарные данные

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

from pyspark.sql.functions import unhex, hex
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    ("48656C6C6F"),  # "Hello" в hex
    ("537061726B"),  # "Spark" в hex
    ("5079537061726B")  # "PySpark" в hex
]
df = spark.createDataFrame(data, ["hex_text"])

# Декодируем строки из hex
result = df.select(
    "hex_text",
    unhex("hex_text").alias("decoded")
).show()

# Результат:
# +------------+-------+
# |hex_text    |decoded|
# +------------+-------+
# |48656C6C6F  |Hello  |
# |537061726B  |Spark  |
# |5079537061726B|PySpark|
# +------------+-------+

Примечания

  • NULL значения возвращают NULL
  • Для кодирования в hex используйте hex()
  • Некорректные hex-строки могут вызвать ошибку
  • Функция возвращает бинарные данные, которые могут быть преобразованы в строку с помощью cast()
  • Для работы с Base64 используйте unbase64()