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

标签 scala apache-spark apache-spark-sql concatenation

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

输入数据框:

sk            id       
2306220722    117738

当前代码:
df.withColumn("Remarks", concat_ws("MCA", col("ID")))

预期输出:
sk           id      Remarks  
2306220722   117738  MCA 117738

我想加前缀 id带有“MCA”的列并将结果字符串添加到 Remarks柱子。

最佳答案

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

val df2 = df.withColumn("Remarks", concat(lit("MCA "), col("id")))

使用问题中的示例数据框并运行 df2.show()
+----------+------+----------+
|        sk|    id|   Remarks|
+----------+------+----------+
|2306220722|117738|MCA 117738|
+----------+------+----------+

关于scala - 如何将字符串连接到 Spark 中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48655062/

相关文章:

java - 将获得的值传递给其他模板

apache-spark - Apache Spark 中失败的任务是否会重新提交?

python - 如何将spark数据输出到具有单独列的csv文件?

hadoop - Spark、Hadoop 和 Cassandra 之间是什么关系

scala - 单元测试 Spark 数据帧转换链接

scala - 猫的 NonEmptyList 与 scala stdlib::

scala - 使用多个参数列表调用 Scala 构造函数

apache-spark - Elasticsearch 支持 spark 2.4.2 和 scala 2.12

scala - 在 Spark 上递归构建决策树时,是否需要保存中间数据子集?

apache-spark - 如何在 Spark SQL 中启用 Catalyst 查询优化器?