spark 2.4.5 todf函数不编译

oogrdqng  于 2021-05-19  发布在  Spark
关注(0)|答案(0)|浏览(302)

我正在尝试将一个项目从spark1.6迁移到spark2.4.5,我发现了一些关于这个主题的问题。我使用Scala2.11.12和ScalaMaven插件4.4.0作为编译器插件。
我有一个系统的三个类是以下。
实现:

class AddServiceDaoImpl(spark: SparkSession, configuration: Configuration) extends AddServiceDao {

    import spark.implicits._

    implicit val sqlc = spark.sqlContext
    val generalOptions = Map of stuff...

    override def findByXXX(key: RDD[(String, String)]): RDD[AddService] = {
    if (key.isEmpty) return spark.sparkContext.emptyRDD[AddService]
    val sql = "this is a String"

    val df = sqlc
      .read
      .format("phoenix")
      .options(generalOptions)
      .option("query", sql)
      .load()

    val keysDf = key.toDF(Seq("column1", "column2"): _*)
    keysDf.join(df, Seq("column1", "column2")).as[AddService].rdd
    }
}

一种特质:

trait AddServiceDao extends Dao[AddService] {
    def findByXXX(key: RDD[(String, String)]): RDD[AddService]
}

还有一个案例课:

case class AddService( firstField: String, secondField: String , and so on for 10 fields..)

现在还有一些元素:
在spark 1.6中,这曾经起作用
我还尝试导入sqlcontext隐式,但没有结果
case类在主体外定义,并声明隐式导入
我错过了什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题