В настоящее время я работаю над проблемой, которая включает изменение типов нескольких Columns
в DataFrame
, но я не уверен, как я могу передать его в udf
, потому что созданная мной функция требуетdictionary
в качестве аргумента и, следовательно, я не знаю, как передать функцию в udf
.
Все типы данных, которые у меня есть в настоящее время, имеют тип String
, но, как я уже говорилМне нужно изменить их на разные типы, такие как Integer & Date
.
моя функция выглядит примерно так:
def columns_types_transformer(df, reformating_dict):
for column, new_type in reformating_dict.items():
df = df.withColumn(column, df[column].cast(new_type))
return df
словарь, который я хочу передать, выглядит так:
dictionary = {'date1': DateType(), 'date2': DateType(), 'date3': DateType(), 'date4': DateType(), 'date5': DateType(), 'date6': DateType(), 'integer1': IntegerType()}
Моя проблема здесь в том, как передать словарь с правильными типами в udf?Другой подход, о котором я думал, - это использовать SQLTransformer, но также не уверен, как это можно сделать.
Любая помощь будет принята.