如何将字符串连接到 Spark 中的列?

Rjj*_*Rjj 7 scala concatenation apache-spark apache-spark-sql

我有以下数据,并希望获得带有文本前缀的结果:

输入数据框:

sk            id       
2306220722    117738
Run Code Online (Sandbox Code Playgroud)

当前代码:

df.withColumn("Remarks", concat_ws("MCA", col("ID")))
Run Code Online (Sandbox Code Playgroud)

预期输出:

sk           id      Remarks  
2306220722   117738  MCA 117738
Run Code Online (Sandbox Code Playgroud)

我想在id列前加上“MCA”并将结果字符串添加到Remarks列中。

Sha*_*ica 9

只需将该concat命令与lit. lit将采用一个值并生成一个仅包含该值的列,它可以是字符串、双精度值等。

val df2 = df.withColumn("Remarks", concat(lit("MCA "), col("id")))
Run Code Online (Sandbox Code Playgroud)

使用问题中的示例数据框并运行df2.show()给出

+----------+------+----------+
|        sk|    id|   Remarks|
+----------+------+----------+
|2306220722|117738|MCA 117738|
+----------+------+----------+
Run Code Online (Sandbox Code Playgroud)