它为每个视图的功能附加新的列。它创建了一个联合 数据帧的格式如下:
| uid | all_features |
| XXXX-XXXX |[{view1 => [F.struct]}, {view2 => [F.struct]] |
df = None
for frame in dataframes:
if not df:
df = frame # assign first dataframe to df
else:
df = df.join(frame, on="uid", how="outer")
df = df.select("uid", F.struct(
[c for c in df.columns if c.lower() != 'uid']).alias("all_features"))
return df
如果null
超过2GB(内存),我希望将值设置为[c for c in df.columns if c.lower() != 'uid']
。非常感谢您的帮助。