我有一个要求,如果一个df出现在一个数组中,我将不得不过滤记录。所以我有一个数组,它是不同于另一个df的列的值,如下所示。
dist_eventCodes = Event_code.select('Value').distinct().collect()
现在,我在如下所示的过滤器中传递这个dist_eventCodes。
ADT_df_select = ADT_df.filter(ADT_df.eventTypeCode.isin(dist_eventCodes))
当我运行这段代码时,我得到下面的错误消息
"AttributeError: 'DataFrame' object has no attribute '_get_object_id'"
谁能帮帮我我到底做错了什么?
先谢了
1条答案
按热度按时间fjnneemd1#
如果我没有理解错的话,您只需要保留
eventTypeCode
在Event_code Dataframe 的eventTypeCode
范围内的那些行如果不是这样,请告诉我
这可以通过spark中一个简单的
left-semi
join来实现,这样你就不需要收集 Dataframe ,这在分布式环境中是正确的。或者如果有使用
isin
的特定需要,这将起作用(collect_set将处理distinct):输入(ADT_df):
事件代码 Dataframe :
输出: