广播ASLModel会加速pyspark 2.1.1的转换吗?

问题描述

在我的pyspark脚本中,我是

  1. 加载所有用户(约1700万)
  2. 加载所有项目(约60,000)
  3. 通过保存的StringIndexerModel运行项目
  4. 加载ALSModel并进行转换
user_id_df = user_item_matrix.select('userid').distinct().repartition(3600)
items = items_info_df.select('item_id')

indexer_model=StringIndexerModel.load(indexer_model_path)
items_indexed = indexer_model.transform(items)
userid_itemid_cross = broadcast(items_indexed).crossJoin(user_id_df)

als_model = ALSModel.load(model_path)
recommendations_df = als_model.transform(userid_itemid_cross)

indexer_model.transform(items)花费的时间太长,有时长达一个小时。

我的问题是/是:

  • 是否可以广播StrngIndexerModel以使过程更快?
  • 可以广播als_model来加快转换阶段吗?

仅供参考,我正在使用 pyspark 2.1.1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...