Scala 由于列错误导致数据帧重新分区

Scala 由于列错误导致数据帧重新分区,scala,apache-spark-sql,Scala,Apache Spark Sql,我有一个DS加入了Spark。我正在使用scala。我想在“日期”列上对DS进行分区。我使用以下语法。代码不会引发编译错误: Scala重新分区函数的定义如下: 但是,当我在Spark中执行代码时,在运行时会出现以下错误。我做错了什么 您可能编译到了错误的Scala版本(也可能是Spark)。您可以使用spark submit验证您正在运行的版本--version如果您可以隔离,则可以尝试在spark shell上运行相同的版本。我通常使用它来排除火花作业的故障。为什么不直接使用col(“dat

我有一个DS加入了Spark。我正在使用scala。我想在“日期”列上对DS进行分区。我使用以下语法。代码不会引发编译错误:

Scala重新分区函数的定义如下:

但是,当我在Spark中执行代码时,在运行时会出现以下错误。我做错了什么


您可能编译到了错误的Scala版本(也可能是Spark)。您可以使用spark submit验证您正在运行的版本--version

如果您可以隔离,则可以尝试在spark shell上运行相同的版本。我通常使用它来排除火花作业的故障。

为什么不直接使用
col(“date”)
joined.repartition(joined.col("date")).show()
def repartition(partitionExprs : org.apache.spark.sql.Column*) : org.apache.spark.sql.Dataset[T] = { /* compiled code */ }
Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.ScalaRunTime$.wrapRefArray([Ljava/lang/Object;)Lscala/collection/immutable/ArraySeq;
            at example.Stocks$.main(Stocks.scala:38)
            at example.Stocks.main(Stocks.scala)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
            at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:951)
            at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)
            at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)
            at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
            at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1030)
            at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1039)
            at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)