繁体   English   中英

pyspark 数据帧重新分区后无法执行连接

[英]Unable to perform join after repartition of pyspark data frame

我们正在加入两个巨大的文件。

所以我们试图在键列上重新分区,然后我们试图在键列上加入。

代码片段

def repartition_df(df,primary_key,partition_value):
    df = df.repartition(partition_value,primary_key)


df_1 = repartition_df(df1,'pk1', 4 )
df_2 = repartition_df(df2,'pk1', 4 )

df3 = df_1.join(df_2,on =  ['pk1'] , how = 'left')

错误信息

An error was encountered:
'NoneType' object has no attribute 'join'
Traceback (most recent call last):
AttributeError: 'NoneType' object has no attribute 'join'

当它工作时:

现在,如果我不重新分区并且 go 提前加入,它工作正常。

但是从性能的角度来看,我们想在重新分区后加入

你能告诉我,我该如何进行。

只需添加一个return语句,您的解决方案就可以正常工作。

def repartition_df(df, primary_key, partition_value):
    df = df.repartition(partition_value, primary_key)
    return df

df_1 = repartition_df(df1, 'pk1', 4)
df_2 = repartition_df(df2, 'pk1', 4)

df3 = df_1.join(df_2, on=['pk1'], how='left')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM