У меня есть фрейм данных pysprak и необходимость извлекать из него выбранные строки на основе состояния двух других фреймов данных с одним столбцом. Я попытался использовать соединение, но это слишком медленно, так как данные огромны. Я думал об использовании разбиения или lookup () в spark, но я не смог реализовать их, так как я новичок в pyspark. Пожалуйста, предложите мне, как сделать это эффективно. Вот примерные кадры данных:
main dataframe:
df1 = DataFrame({'CID': ['A0', 'A1', 'A2', 'A3'],'Name': ['B7', 'B4', 'B0', 'B3'],'Group':[23,34,45,67]})
conditional dataframes:
df2 = DataFrame({'CID': ['A4', 'A3', 'A7', 'A8']})
df3=Dataframe({'Group':[33,42,66,90]})
Я пытался выполнить объединение, но оно неэффективно.
df1=df1.join(df2,df1.CID==df2.CID)
df1=df1.join(df3,df1.Group==df3.Group)
Заранее спасибо!