我正在优化下面的操作,该操作在实际数据集(大型数据集)上的执行时间相对较长。我在下面的两个pyspark数据集1和2上进行了尝试,以获得数据集2的“page\u category”列
Pypark数据集-1:
page_click | page_category
---------------------------
facebook | Social_network
insta | Social_nework
coursera | educational
我正在应用create\u map操作的另一个数据集如下所示:
pyspark dataset-2 :
id | page_click
---------------
1 | facebook
2 |Coursera
我正在创建dataset-1的字典并应用
page_map = create_map([lit(x) for x in chain(*dict_dataset_1.items()]) dataset_2.withColumn('page_category', page_map[dataset_2['page_click']])
然后在dataset-2的“page\u click”列上执行“page\u column”,以得到另一个名为“page\u category”的列
final dataset :
id | page_click | Page_category
-------------------------------
1 | facebook |social_network
2 |Coursera |educational
但是这个操作需要花费太多的时间来完成,超过4-5分钟。有没有别的办法加快行动?
谢谢您
1条答案
按热度按时间oprakyz71#
实现一个简单的广播连接