最新の SJS バージョン (マスター) を使用しており、アプリケーションは SparkHiveJob を拡張します。runJob の実装には、次のものがあります。
val eDF1 = hive.applySchema(rowRDD1, schema)
eDF1を永続化したいので、次のことを試しました
val rdd_topersist = namedObjects.getOrElseCreate("cleanedDF1", {
NamedDataFrame(eDF1, true, StorageLevel.MEMORY_ONLY)
})
次のコンパイルエラーが発生する場所
could not find implicit value for parameter persister: spark.jobserver.NamedObjectPersister[spark.jobserver.NamedDataFrame]
not enough arguments for method getOrElseCreate: (implicit timeout:scala.concurrent.duration.FiniteDuration, implicit persister:spark.jobserver.NamedObjectPersister[spark.jobserver.NamedDataFrame])spark.jobserver.NamedDataFrame. Unspecified value parameter persister.
明らかにこれは間違っていますが、何が間違っているのかわかりません。私はScalaにかなり慣れていません。
NamedObjectSupport からこの構文を理解するのを手伝ってくれる人はいますか?
def getOrElseCreate[O <: NamedObject](name: String, objGen: => O)
(implicit timeout: FiniteDuration = defaultTimeout,
persister: NamedObjectPersister[O]): O