在 Spark / Scala 中将列从十进制字符串转换为二进制字符串
Converting a column from decimal to binary string in Spark / Scala
我有一个带小数列的 Spark 数据框。我想将此列转换为二进制字符串。有人可以帮忙吗?
谢谢!
我通过创建用户定义函数解决了这个问题。
val toBinStr: Int => String = _.toBinaryString
import org.apache.spark.sql.functions.udf
val toBinStrUDF = udf(toBinStr)
// Apply the UDF to change the source dataset
data.withColumn("Value_Binary", toBinStrUDF($"Value")).show
有一个 bin inbuilt function 表示
An expression that returns the string representation of the binary value of the given long column. For example, bin("12") returns "1100".
所以如果你有一个数据框
+-----+
|Value|
+-----+
|4 |
+-----+
root
|-- Value: decimal(10,0) (nullable = true)
您可以将 bin
函数用作
import org.apache.spark.sql.functions._
data.withColumn("Value_Binary", bin(col("Value")))
哪个应该给你
+-----+------------+
|Value|Value_Binary|
+-----+------------+
|4 |100 |
+-----+------------+
root
|-- Value: decimal(10,0) (nullable = true)
|-- Binary_value: string (nullable = true)
我有一个带小数列的 Spark 数据框。我想将此列转换为二进制字符串。有人可以帮忙吗?
谢谢!
我通过创建用户定义函数解决了这个问题。
val toBinStr: Int => String = _.toBinaryString
import org.apache.spark.sql.functions.udf
val toBinStrUDF = udf(toBinStr)
// Apply the UDF to change the source dataset
data.withColumn("Value_Binary", toBinStrUDF($"Value")).show
有一个 bin inbuilt function 表示
An expression that returns the string representation of the binary value of the given long column. For example, bin("12") returns "1100".
所以如果你有一个数据框
+-----+
|Value|
+-----+
|4 |
+-----+
root
|-- Value: decimal(10,0) (nullable = true)
您可以将 bin
函数用作
import org.apache.spark.sql.functions._
data.withColumn("Value_Binary", bin(col("Value")))
哪个应该给你
+-----+------------+
|Value|Value_Binary|
+-----+------------+
|4 |100 |
+-----+------------+
root
|-- Value: decimal(10,0) (nullable = true)
|-- Binary_value: string (nullable = true)