【发布时间】:2020-10-21 08:20:11
【问题描述】:
我有两个数据框 df 和买家。 我需要对它们应用两种不同类型的连接 inner 和 leftanti 并从 leftanit 中抽取 1% 的样本,然后将这两个结果合并。我尝试了以下
buyr = df.join(buyers,on=['key'],how='inner')
non_buyr = df.join(buyers,on=['key'],how='leftanti')
onepct = non_buyr.sample(False,0.01,seed=100)
df_final = buyr.unionAll(onepct)
但由于这个原因,我们有两个 df 阶段,731 分区的每个阶段大约需要 4 小时才能完成
有没有什么方法可以在一个步骤中执行内部和左反连接,而不是两个或任何其他有效的方法来执行相同的操作?
【问题讨论】:
标签: python python-3.x join pyspark