Я конвертирую кучу pandas фреймов данных в spark df, затем записываю в hdfs. Также явное указание схемы для изменения всех типов данных в строку, чтобы избежать конфликта классов слияния.
Попытка написать функцию, которая будет l oop через все столбцы pandas df, создать схему, затем я смогу использовать схему для преобразования в spark.
Вот что у меня есть:
def creating_schema(df):
for columnName in df.columns:
schema = StructType([(StructField('"' + columnName + '"' , StringType(), True))])
print(schema)
return(schema)
Это выводит:
StructType(List(StructField("column_1",StringType,true)))
StructType(List(StructField("column_2",StringType,true)))
StructType(List(StructField("column_3",StringType,true)))
StructType(List(StructField("column_4",StringType,true)))
StructType(List(StructField("column_5",StringType,true)))
Однако я считаю, что мне нужно что-то в этом формате, чтобы оно работало:
schema = StructType([StructField("column_1" , StringType(), True),
StructField("column_2" , StringType(), True),
StructField("column_3" , StringType(), True),
StructField("column_4" , StringType(), True),
StructField("column_5" , StringType(), True)
])
Любая помощь в написании этой функции будет полезна!
Спасибо!