У меня есть схема, которую я хочу применить к файлам csv в Databricks.
Файлы csv могут содержать 6 столбцов (a, b, c, d, e, f), которые могут появляться в случайном порядке в файлах csv. Может также случиться, что один или несколько столбцов отсутствуют. Таким образом, CSV-файлы с этими заголовками будут действительными
a,b,c,d,e,f
f,e,d,c,a,b
a,b,c
d,e,f
Я могу создать собственную схему, но она не обрабатывает другой порядок, а также пропускает столбцы. Они применяются последовательно. Любые идеи о том, как это можно решить?
customSchema = StructType() \
.add("a", DoubleType(), True) \
.add("b", DoubleType(), True) \
.add("c", DoubleType(), True) \
.add("d", DoubleType(), True) \
.add("e", DoubleType(), True) \
.add("f", DoubleType(), False)
data = sqlContext.read.format("csv") \
.option("header", "true") \
.option("delimiter", ",") \
.schema(customSchema) \
.load("*.csv")