我有一个pyspark.sql.Row
对象列表,如下所示:
[Row(artist=1255340), Row(artist=942), Row(artist=378), Row(artist=1180), Row(artist=813)]
从具有架构DataFrame
的{{1}}我想(id, name)
出filter
行。什么是正确的方法呢?
为了进一步澄清,我想做一些事情:id equals some artist in the given Row of list
答案 0 :(得分:1)
主要问题是list_of_row_objects有多大。如果它很小,那么@Karthik Ravindra提供的链接
如果它很大,那么你可以使用dataframe_of_row_objects。使用dataframe_of_row_objects中的artist列和原始数据帧中的id列,在dataframe和dataframe_of_row_objects之间进行内部联接。这基本上会删除不在dataframe_of_row_objects中的任何id。
当然使用连接速度较慢但更灵活。对于不小但但仍然足够小以适应内存的列表,您可以使用广播提示来获得更好的性能。