问题描述
在我的pyspark脚本中,我是
- 加载所有用户(约1700万)
- 加载所有项目(约60,000)
- 通过保存的StringIndexerModel运行项目
- 加载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 (将#修改为@)