在 apache Spark 中加入列时,Java 相当于 scala 的 concat

标签 java scala apache-spark

在 scala 中,我可以将数据框中的多个列连接到一个新列,例如

var dataWithNewColumns = rawData.withColumn("day_and_time", concat(rawData("day"),lit("_"),rawData("time")))

我想在 java 中做同样的事情,但我找不到任何与 concat 函数等效的东西。你能帮我吗?也欢迎任何其他选项来实现两列的组合。

提前致谢!

最佳答案

您需要在类中导入functions类(或者更确切地说,它的static方法)才能实现它,例如:

import static org.apache.spark.sql.functions.*;

导入后,代码将如下所示:

Dataset<Row> data = //get data
data.withColumn("new_Column", concat(data.col("col1"), lit("_"), data.col("col2")));

关于在 apache Spark 中加入列时,Java 相当于 scala 的 concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062708/

相关文章:

java - ssl 客户端如何接受过期的 SSL 证书

Java SSL 异常 - "Prime size must be a multiple of 64..."

Java 正则表达式花费的时间太长

Scala None 实例不是 == None

Scala双重定义(2个方法具有相同的类型删除)

java - 如何将 Maven 添加到现有的 IntelliJ Android 项目

scala - 将 Spark-kafka InputDStream 转换为 Array[Bytes]

java - Apache Spark - foreach Vs foreachPartition 什么时候使用?

java - Apache Spark mapPartitionsWithIndex

apache-spark - 来自 Kafka 检查点和确认的 Spark 结构化流