Spark scala 如何将数据框中的整数列转换为十六进制大写字符串?

元公里

我们可以使用以下函数来转换单个整数值。

val x=100
Integer.toString(x, 16).toUpperCase

但是如何将其应用于整数列以生成带有十六进制字符串的新列?谢谢!

下面的方法不起作用。

testDF = testDF.withColumn("data_hex_string", Integer.toString(testDF("data"), 16).toUpperCase)
拉曼努斯

AFAIK,没有火花本机功能,所以做一个 udf 功能来做到这一点。

import org.apache.spark.sql.functions.udf
def toHex = udf((int: Int) => java.lang.Integer.toString(int, 16).toUpperCase)

df.withColumn("hex", toHex($"int")).show()

+---+---+---+
| id|int|hex|
+---+---+---+
|  1|  1|  1|
|  2| 11|  B|
|  3| 23| 17|
+---+---+---+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Scala将列的十六进制子字符串转换为十进制-Dataframe org.apache.spark.sql.catalyst.parser.ParseException:

在Spark MLlib中,如何在Spark Scala中将字符串转换为整数?

Apache Spark:将具有JSON字符串的列转换为Scala spark中的新数据框

将scala中的long / int转换为十六进制字符串

如何将类似数组的字符串转换为 spark-dataframe (Scala api) 中的数组?

将字符串转换为BigInt DataFrame Spark Scala

如何将Spark数据集转换为Scala Seq

Spark:将十六进制字符串转换为十进制

Scala Spark如何将列array [string]转换为带有JSON数组的字符串?

如何在Spark Scala中将org.apache.spark.sql.ColumnName转换为字符串,十进制类型?

如何将scala中的十六进制十进制列转换为int

将Dataset中的嵌套json字符串转换为Spark Scala中的Dataset / Dataframe

如何在scala中将长十六进制字符串转换为BigInt

Spark:scala任何转换

Spark Scala中的数据转换

在Spark Scala中旋转

在Spark Scala中合并

Spark Scala中的映射

(Scala)在Apache Spark中将字符串转换为日期

将Spark数据框转换为Scala Map集合

使用Spark Scala将数据框转换为哈希图

如何将表格数据转换为Spark(Scala)中的事务?

如何将JSON字符串解析为Spark Scala中的不同列?

Spark Scala:无法将其从字符串转换为整数,因为它可能会被截断

spark scala:将DataFrame OR Dataset转换为单个逗号分隔的字符串

Spark Scala转换数据框/ rdd

在 Spark/Scala 中将一列从十进制转换为二进制字符串

将HiveQL转换为Spark Scala

Spark Scala:将StructType转换为String