我正在Pyspark的5列上实现LEFT JOIN。但这会引发如下所示的错误
TypeError:join()需要2到4个位置参数,但给出了5个
已实现代码:
Tgt_df_time_in_zone_detail = Tgt_df_view_time_in_zone_detail_dtaas.join(Tgt_df_individual_in_shift_tiz
,Tgt_df_view_time_in_zone_detail_dtaas.id_individual == Tgt_df_individual_in_shift_tiz.id_individual,
(Tgt_df_view_time_in_zone_detail_dtaas.timestamp_start >= Tgt_df_individual_in_shift_tiz.swipein)
& (Tgt_df_view_time_in_zone_detail_dtaas.timestamp_start <= Tgt_df_individual_in_shift_tiz.swipeout)
& (Tgt_df_view_time_in_zone_detail_dtaas.timestamp_end >= Tgt_df_individual_in_shift_tiz.swipein)
&(Tgt_df_view_time_in_zone_detail_dtaas.timestamp_end <= Tgt_df_individual_in_shift_tiz.swipeout)
, "left_outer")
为什么Pyspark不参加5列?那么什么是更好的方法呢??
答案 0 :(得分:1)
猜猜,您在第一个条件和第二个条件之间错过了&。如果可行,请尝试此操作。
class price extends Book