Scala 值拆分不是org.apache.spark.sql.ColumnName的成员

Scala 值拆分不是org.apache.spark.sql.ColumnName的成员,scala,apache-spark-sql,azure-databricks,Scala,Apache Spark Sql,Azure Databricks,我正在尝试这样做: .withColumn("System", when($"SysID".split("-").length > 3, $"SysID".split("-").take(3)).otherwise(null)) 但我得到了以下错误: 错误:值拆分不是org.apache.spark.sql.ColumnName的成员 如何使用拆分功能 谢谢。split and length是 所以您可以这样做:当(长度(拆分($“SysID”,“-”)>3)您可以尝试以下操作: df.

我正在尝试这样做:

.withColumn("System", when($"SysID".split("-").length > 3, $"SysID".split("-").take(3)).otherwise(null))
但我得到了以下错误:

错误:值拆分不是org.apache.spark.sql.ColumnName的成员

如何使用拆分功能


谢谢。

split and length是
所以您可以这样做:
当(长度(拆分($“SysID”,“-”)>3)
您可以尝试以下操作:

df.withColumn("System", when(length(col("SysID"))> 3, split(col("SysID"), "_")))

对以上代码的更正:
.withColumn(“System”,当($“SysID”.split(“-”)。长度>3,$“SysID”.split(“-”)。取(3).mkString(“-”)。否则(null))
但错误仍然存在于什么是SysID?代码中的某个地方是列还是变量?SysID是列名。你能试试
col(“SysID”)吗?split(“-”)。length
?我试过了。同样的错误。