2016-11-11 159 views
0

我使用UR,我想知道,为什么训练它大部分时间仅使用4核,8时可用UniversalRecommender不利用所有avaliable内核同时培养

大部分时间的训练都停留在中工作17“拿在EsSpark.scala:60” Stage45“flatMap在AtB.scala:234”

有人能解释它到底做在这个阶段,它可以使用所有8个内核(不仅4)?我想,它没有足够的内存,因为它使用所有可用的64 G内存,但是当我在火花集群上运行它(2个实例)时,情况不会改变,它总共也会使用4个内核。

cpu usage

+0

它可以是因为在分裂表4个部分: '16/11/11 11时37分19秒INFO TableInputFormatBase:输入分割长度:8.5 2G字节。 16/11/11 11时37分19秒INFO TableInputFormatBase:输入分割长度:4.2克字节。 16/11/11 11时37分19秒INFO TableInputFormatBase:输入分割长度:1.3克字节。 16/11/11 11时37分十九秒INFO TableInputFormatBase:输入分流长度:7.2克bytes.' 但我怎么可以改变这种行为? – Igor

回答

0

的问题是,这个预言IO使用TableInputFormatBase,在默认情况下使RDD与分区的数量=在HBase的#地区

因此增加RDD的分区数,它是更多钞票来在HBase的分割区域或使用RDD.partition(循环移位#of分区)