我有一个多个数据框架,我需要应用不同的函数,我想知道是否有一种更好的方法在pyspark中做到这一点?
我现在正在做以下事情:
df1 = function_one(df1)
df2 = function_one(df2)
df3 = function_one(df3)
df1 = function_two(df1, dfx, 0)
df2 = function_two(df2, dfx, 1)
df3 = function_two(df3, dfx, 2)
我已经试过了:
list_dfs = [df1, df2, df3]
num_list = [0,1,2]
for dataframe,num in zip(list_dfs,num_list):
dataframe = function(dataframe)
dataframe = function_two(dataframe , dfx, num)
不应用更改。有没有一种方法,我可以做一个循环在pyspark和应用函数到多个数据框架?
这只是我快速写的东西(未测试)只是一个建议,不确定它是否比你现在做的更方便(如果你有更多的dfs,显然是)
def make_changes(df):
df = func(df)
df = func2(df)
return df
new_df_list = []
df_list = [df1, df2, df3]
for dfs in df_list:
new_df_list.append(make_changes(dfs))