Ускоряет ли трансляция (ASLModel) преобразование в pyspark 2.1.1?

В моем сценарии pyspark я

  1. загрузка всех пользователей (около 17 миллионов)
  2. загрузка всех предметов (около 60000)
  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

0 ответов

Другие вопросы по тегам