Может быть, но громоздко, но работает, если предположить, что есть только один удар как минимум.
scala> val df = Seq(
| (12.0, Array(0.1, 2.1, 1.2)),
| (8.0, Array(1.1, 2.1, 3.2)),
| (9.0, Array(1.1, 1.1, 2.2))
| ).toDF("time", "crds")
df: org.apache.spark.sql.DataFrame = [time: double, crds: array<double>]
scala> val minTime = df.select(min(col("time"))).collect()(0)(0).toString.toDouble
minTime: Double = 8.0
scala> val crd = df.filter($"time" === minTime).select(explode(col("crds"))).collect().map(i => i(0)).map(_.toString.toDouble)
crd: Array[Double] = Array(1.1, 2.1, 3.2)
scala>