Scala 插补缺失值
原始数据-(数据丢失几天) 所需的O/p-(即,填补先前已知的缺失值) 要求-用以前的已知值填充所有缺失的数据 我当前的实现-(POC) POC(基本理解级别)上的这种逻辑按照预期工作,但我想知道是否可以使用更易于实现、可扩展和可定制的其他逻辑 Facebook Prophet很遗憾,我无法在Spark scala中直接使用它,因为Prophet只有Python或R支持。 参考链接- *更新 我已经使用Cloudera Sparkts的TimeSeriesRDD成功地实现了这一点。 但问题是Cloudera SparksTs自2016年以来没有看到任何更新,我担心它可能已经达到生命支持的终点 我正在寻找符合我要求的兼容插补逻辑/库。 提前谢谢Scala 插补缺失值,scala,apache-spark,Scala,Apache Spark,原始数据-(数据丢失几天) 所需的O/p-(即,填补先前已知的缺失值) 要求-用以前的已知值填充所有缺失的数据 我当前的实现-(POC) POC(基本理解级别)上的这种逻辑按照预期工作,但我想知道是否可以使用更易于实现、可扩展和可定制的其他逻辑 Facebook Prophet很遗憾,我无法在Spark scala中直接使用它,因为Prophet只有Python或R支持。 参考链接- *更新 我已经使用Cloudera Sparkts的TimeSeriesRDD成功地实现了这一点。 但问题是
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()