Я использую последнюю версию 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