如何解决以下编译错误?
SOApp.scala:7: error: encountered unrecoverable cycle resolving import.
Note: this is often due in part to a class depending on a definition nested within its companion.
If applicable, you may wish to try moving some members into another object.
import spark.implicits._
码:
object SOApp extends App with Logging {
// For implicit conversions like converting RDDs to DataFrames
import spark.implicits._
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder()
.appName("Stackoverflow App")
.master("local[*]")
.getOrCreate()
}
tl; drimport spark.implicits._
后移val spark = SparkSession...getOrCreate()
。
该名称spark
引起了很多混乱,因为它可能涉及org.apache.spark
包装以及spark
价值。
与Java不同,Scala允许import
在更多地方使用语句。
您可以考虑使用Spark SQL惯用法来创建一个spark
值,该值可以访问隐式对象。在Scala中,您只能将隐式对象引入稳定对象(如值)的范围,因此以下是正确的:
// For implicit conversions like converting RDDs to DataFrames
import spark.implicits._
就像您所说的,它是将RDD隐式转换为DataFrames(其中包括)。
这不是要导入org.apache.spark
包,而是要进行隐式转换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句