且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何将列从十六进制字符串转换为long?

更新时间:2022-06-04 04:32:40

您可以使用 java hex to Long转换器

java.lang.Long.parseLong(hex.trim(), 16)

您所需要做的就是定义如下的udf函数

All you need is to define a udf function as below

import org.apache.spark.sql.functions.udf
def hexToLong = udf((hex: String) => java.lang.Long.parseLong(hex.trim(), 16))

并使用.withColumn api

df.withColumn("Icao", hexToLong($"Icao")).show(false)