Сначала выясните, сколько новых строк нужно добавить в набор данных data1
.Используя некоторые примеры данных из вопроса:
val data1 = Seq(Seq(1.0, 100.0), Seq(0.7, 100.0), Seq(0.8, 50.0))
.toDF("col1").as[Array[Double]]
val data2 = Seq(Seq(0.8, 50.0), Seq(1.0, 125.0, 0.0), Seq(0.5, 0.0, 20.0), Seq(0.5, 0.0, 15.0))
.toDF("col1").as[Array[Double]]
val diff = data2.count() - data1.count()
В этом случае diff
будет иметь значение 1.
Затем создайте новый набор данных с соответствующим количеством строк, содержащих толькоArray(0.0, 0.0)
это должно быть добавлено.Затем добавьте этот новый набор данных к data1
, используя union
:
val appendData = Seq.fill(diff.toInt)(Array(0.0, 0.0)).toDF("col1").as[Array[Double]]
val data3 = data1.union(appendData)
Результат:
+------------+
| col1|
+------------+
|[1.0, 100.0]|
|[0.7, 100.0]|
| [0.8, 50.0]|
| [0.0, 0.0]|
+------------+