首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySpark : create_map期间的性能优化,用于对页面访问进行分类

PySpark : create_map期间的性能优化,用于对页面访问进行分类
EN

Stack Overflow用户
提问于 2020-07-24 03:21:51
回答 1查看 54关注 0票数 0

我正在优化下面的操作,它在实际数据集(大型数据集)上的执行时间相对较长,.I在下面尝试的两个pyspark数据集1和2上达到dataset-2的"page_category“列

pyspark数据集-1:

代码语言:javascript
复制
page_click | page_category
---------------------------
facebook | Social_network
insta    | Social_nework
coursera | educational

我正在对其应用create_map操作的另一个数据集如下所示:

代码语言:javascript
复制
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_click‘列执行with_column,以得到另一个名为'page_category’的列

代码语言:javascript
复制
final dataset : 

id | page_click | Page_category
-------------------------------
1  | facebook   |social_network
2  |Coursera    |educational

但此操作花费的时间太长,超过4-5分钟。有没有其他方法可以加快操作速度?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-07-24 14:53:48

实施简单广播加入

代码语言:javascript
复制
df2.join(broadcast(df1),df2.page_click==df1.page_click,'left').\
    select(df2.id, df2.page_click, df1.page_category).show()

+---+----------+--------------+
| id|page_click| page_category|
+---+----------+--------------+
|  1|  facebook|Social_network|
|  2|  coursera|   educational|
+---+----------+--------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63061686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档