【问题标题】:UniversalRecommender do not utilise all avaliable cores while trainingUniversal Recommender 在训练时不会使用所有可用的核心
【发布时间】:2016-11-11 17:44:19
【问题描述】:

我正在使用 UR,但我想知道,为什么在训练期间它大部分时间只使用 4 个核心,而 8 个可用

大部分时间训练都停留在 Job 17 "take at EsSpark.scala:60" Stage45 "flatMap at AtB.scala:234"

有人能解释一下它在这个阶段到底做了什么吗?它可以使用所有 8 个内核(不仅仅是 4 个)吗?

我想,它没有足够的 RAM,因为它使用了所有可用的 64 G RAM, 但是当我在一个 Spark 集群(2 个实例)上运行它时,情况并没有改变,它总共也使用了 4 个内核。

【问题讨论】:

  • 这可能是因为在 4 个部分上拆分表:` 16/11/11 11:37:19 INFO TableInputFormatBase:输入拆分长度:8.5 G 字节。 16/11/11 11:37:19 INFO TableInputFormatBase:输入拆分长度:4.2 G 字节。 2011 年 16 月 11 日 11:37:19 INFO TableInputFormatBase:输入拆分长度:1.3 G 字节。 2011 年 16 月 11 日 11:37:19 INFO TableInputFormatBase:输入拆分长度:7.2 G 字节。但是我该如何改变这种行为?

标签: scala apache-spark predictionio


【解决方案1】:

问题在于,Prediction IO 使用 TableInputFormatBase,默认情况下,RDD 的分区数 = hbase 中的 # 个区域

所以要增加RDD的分区数,可以在hbase中拆分region或者使用RDD.partition(#of partitions)

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多