我们可以使用以下函数来转换单个整数值。
val x=100
Integer.toString(x, 16).toUpperCase
但是如何将它应用于整数列以生成具有十六进制字符串的新列呢?谢谢!
以下方法无效。
testDF = testDF.withColumn("data_hex_string", Integer.toString(testDF("data"), 16).toUpperCase)
我们可以使用以下函数来转换单个整数值。
val x=100
Integer.toString(x, 16).toUpperCase
但是如何将它应用于整数列以生成具有十六进制字符串的新列呢?谢谢!
以下方法无效。
testDF = testDF.withColumn("data_hex_string", Integer.toString(testDF("data"), 16).toUpperCase)
2条答案
按热度按时间bwitn5fc1#
好吧,没有spark本机函数,所以创建一个udf函数来实现这一点。
e5njpo682#
正如@jxc在评论中已经提到的,使用
conv
功能:对于那些想要小写的人,用
lower
: