У меня возникла ошибка при использовании mllib RandomForest для обучения данных. Поскольку мой набор данных огромен, а раздел по умолчанию относительно небольшой. поэтому генерируется исключение, указывающее, что "Размер превышает Integer.MAX_VALUE", трассировка стека orignal следующим образом:
15/04/16 14:13:03 WARN scheduler.TaskSetManager: потерянная задача 19.0 в этап 6.0 (TID 120, 10.215.149.47): java.lang.IllegalArgumentException: размер превышает Integer.MAX_VALUE
на sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:828) в org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala: 123) в org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala: 132) в org.apache.spark.storage.BlockManager.doGetLocal(BlockManager.scala: 517) в org.apache.spark.storage.BlockManager.getLocal(BlockManager.scala: 432) на org.apache.spark.storage.BlockManager.get(BlockManager.scala: 618) в org.apache.spark.CacheManager.putInBlockManager(CacheManager.scala: 146) на org.apache.spark.CacheManager.getOrCompute(CacheManager.scala: 70)
Integer.MAX_SIZE составляет 2 ГБ, кажется, что какой-то раздел из памяти. Поэтому я перепечатываю свой раздел rdd на 1000, так что каждый раздел может хранить гораздо меньше данных, чем раньше. Наконец, проблема решена!!!
Итак, мой вопрос: Почему размер раздела имеет ограничение 2G? Кажется, что в искре