Ho ricevuto un errore quando si utilizza mllib RandomForest per addestrare i dati. Dato che il mio set di dati è enorme e la partizione di default è relativamente piccola. così un'eccezione sollevata che indica che "Formato supera Integer.MAX_VALUE", la traccia dello stack orignal come seguendo,Perché la partizione Spark RDD ha un limite di 2 GB per HDFS?
15/04/16 14:13:03 WARN scheduler.TaskSetManager: Perso compito 19,0 in fase 6.0 (TID 120, 10.215.149.47): java.lang.IllegalArgumentException: Dimensioni supera Integer.MAX_VALUE
a sun.nio.ch.FileChannelImpl.map (FileChannelImpl.java:828) a org.apache.spark.storage.DiskStore .getBytes (DiskStore.scala: 123) a org.apache.spark.storage.DiskStore.getBytes (DiskStore.scala: 132) a org.apache.spark.storage.BlockManager.doGetLocal (BlockManager.scala: 517) allo org.apache.spark.storage.BlockManager.getLocal (BlockManager.scala: 432) all'indirizzo org.apache.spark.storage.BlockManager.get (BlockManager.scala: 618) a org.apache.spark.CacheManager. putInBlockManager (CacheManager.scala: 146) a org.apache.spark.CacheManager.getOrCompute (CacheManager.scala: 70)
L'Integer.MAX_SIZE è 2GB, sembra che alcuni partizione di memoria. Così ripartisco la mia partizione rdd a 1000, in modo che ogni partizione possa contenere molti meno dati di prima. Finalmente il problema è risolto !!!
Quindi, la mia domanda è: Perché la dimensione della partizione ha il limite 2G? Sembra che non ci sia un set di configurazione per il limite nella scintilla
http://stackoverflow.com/questions/8076472/filechannel-map-integer-max-value-limit-error – experquisite