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()