Представьте себе CSV следующим образом:
a,b,c,d
1,1,0,0
0,1,1,0
...
Я хочу автоматически получить DF с 4 столбцами a, b, c, d.
Ручная техника может быть:
val rdd = sc.textFile(path).map(_.split(","))
val cols = (0 until rdd.first.size).map(_.toString).toArray
val df = rdd.map{ case Array(a, b, c, d) => (a, b, c, d) }.toDF(cols:_*)
Проблема с этой техникой заключается в том, что мне нужно точно указать количество столбцов a, b, c, d, что может быть проблематично с сотнями или более функциями.
Я полагаю, что существует более полезный метод, возможно, проходящий мимо sparkSession, но я не хочу уточнять какую-либо схему.