у меня есть столик с полем ByteArray
spark.sql("select ech_montant, ech_piece from f_echeances where ech_piece = 'FHTL0140'").show()
+----------------+---------+
| ech_montant|ech_piece|
+----------------+---------+
|[01 4D 4A 92 20]| FHTL0140|
+----------------+---------+
Я пытаюсь преобразовать байты "на лету" в их исходное значение (числовое (24,6) или двойное)
Я пробовал это:
import struct
spark.udf.register('todouble', lambda x: struct.unpack('d', x))
spark.sql("select ech_montant, todouble(ech_montant), ech_piece from f_echeances where ech_piece = 'FHTL0140'").show()
Но это не с ошибкой
struct.error: unpack requires a bytes object of length 8
Есть ли другой способ продолжить?
Спасибо