this is the code i came up with, is there a better approach?
val ds = filteredDF.as[(Integer, String, String, String, String, Double, Integer)]
var df = ds.flatMap {
case (x1, x2, x3, x4, x5, x6, x7) => x3.split(",").map((x1, x2, _, x4, x5, x6, x7))
}.toDF