Scala 插补缺失值

Scala 插补缺失值,scala,apache-spark,Scala,Apache Spark,原始数据-(数据丢失几天) 所需的O/p-(即,填补先前已知的缺失值) 要求-用以前的已知值填充所有缺失的数据 我当前的实现-(POC) POC(基本理解级别)上的这种逻辑按照预期工作,但我想知道是否可以使用更易于实现、可扩展和可定制的其他逻辑 Facebook Prophet很遗憾,我无法在Spark scala中直接使用它,因为Prophet只有Python或R支持。 参考链接- *更新 我已经使用Cloudera Sparkts的TimeSeriesRDD成功地实现了这一点。 但问题是

原始数据-(数据丢失几天)

所需的O/p-(即,填补先前已知的缺失值)

要求-用以前的已知值填充所有缺失的数据

我当前的实现-(POC)

POC(基本理解级别)上的这种逻辑按照预期工作,但我想知道是否可以使用更易于实现、可扩展和可定制的其他逻辑

Facebook Prophet很遗憾,我无法在Spark scala中直接使用它,因为Prophet只有Python或R支持。 参考链接-

*更新

我已经使用Cloudera Sparkts的TimeSeriesRDD成功地实现了这一点。 但问题是Cloudera SparksTs自2016年以来没有看到任何更新,我担心它可能已经达到生命支持的终点

我正在寻找符合我要求的兼容插补逻辑/库。 提前谢谢

import org.apache.spark.sql.expressions.Window


val rawDataDf = Seq(("2020-09-25","product1","4.4"),
               ("2020-09-28","product1","4.1"),
               ("2020-09-30","product1","4.2"))
            .toDF("datetime","product","quantity")
            .select(to_timestamp($"datetime") as "datetime",$"product",$"quantity".cast("float"))

rawDataDf.createOrReplaceTempView("rawDataDfView")

val new_combinedDf = spark.sql("select a.*,(select distinct product from rawDataDfView) as product,b.quantity from dataDateDfView a left join rawDataDfView b on a.dates = b.datetime ")
display(new_combinedDf)
new_combinedDf.createOrReplaceTempView("finalview")
new_combinedDf.withColumn("quantity",last("quantity",true).over(Window.partitionBy("product").orderBy("dates"))).show()