2015-05-06 6 views
68

Sto cercando di persistere mia RDD utilizzando off stoccaggio mucchio sul scintilla 1.4.0 e 0.6.4 Tachyon farlo in questo modo:errori quando si utilizza OFF_HEAP bagagli con Spark 1.4.0 e 0.6.4 Tachyon

val a = sqlContext.parquetFile("a1.parquet") 
a.persist(org.apache.spark.storage.StorageLevel.OFF_HEAP) 
a.count() 

Successivamente ricevo la seguente eccezione.

Qualche idea al riguardo?

15/06/16 10:14:53 INFO : Tachyon client (version 0.6.4) is trying to connect master @ localhost/127.0.0.1:19998 
15/06/16 10:14:53 INFO : User registered at the master localhost/127.0.0.1:19998 got UserId 3 
15/06/16 10:14:53 INFO TachyonBlockManager: Created tachyon directory at /tmp_spark_tachyon/spark-6b2512ab-7bb8-47ca-b6e2-8023d3d7f7dc/driver/spark-tachyon-20150616101453-ded3 
15/06/16 10:14:53 INFO BlockManagerInfo: Added rdd_10_3 on ExternalBlockStore on localhost:33548 (size: 0.0 B) 
15/06/16 10:14:53 INFO BlockManagerInfo: Added rdd_10_1 on ExternalBlockStore on localhost:33548 (size: 0.0 B) 
15/06/16 10:14:53 ERROR TransportRequestHandler: Error while invoking RpcHandler#receive() on RPC id 5710423667942934352 
org.apache.spark.storage.BlockNotFoundException: Block rdd_10_3 not found 
    at org.apache.spark.storage.BlockManager.getBlockData(BlockManager.scala:306) 
    at org.apache.spark.network.netty.NettyBlockRpcServer$$anonfun$2.apply(NettyBlockRpcServer.scala:57) 
    at org.apache.spark.network.netty.NettyBlockRpcServer$$anonfun$2.apply(NettyBlockRpcServer.scala:57) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
    at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108) 
    at org.apache.spark.network.netty.NettyBlockRpcServer.receive(NettyBlockRpcServer.scala:57) 
    at org.apache.spark.network.server.TransportRequestHandler.processRpcRequest(TransportRequestHandler.java:114) 
    at org.apache.spark.network.server.TransportRequestHandler.handle(TransportRequestHandler.java:87) 
    at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:101) 
    at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:51) 
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) 
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) 
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) 
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254) 
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) 

Ho anche provato lo stesso con il file di testo e sono riuscito a mantenerlo in tachion. Il problema è con persistente DataFrame originariamente letto dal parquet.

+0

Penso che hai aggiunto questo metodo dopo la compilazione o potrebbe essere, C'è qualche errore di compilazione. Prova con la ricostruzione. – Kaushal

+0

Non li ho aggiunti da solo. Spark sta provando a chiamarli durante il persistere del RDD sul tachion – smikesh

+0

Non ho idea di tachyon. Per prima cosa controlla la versione delle dipendenze, è compatibile o meno, o alcune dipendenze mancanti. – Kaushal

risposta

1

Sembra che ci sia un relativo bug report: https://issues.apache.org/jira/browse/SPARK-10314

Dal momento sembra che ci sia una richiesta di pull per questo, ci potrebbe essere la possibilità di ottenere presto una correzione per questo.

Da questo thread, https://groups.google.com/forum/#!topic/tachyon-users/xb8zwqIjIa4, sembra che Spark stia utilizzando la modalità TRY_CACHE per scrivere su Tachyon in modo che i dati sembrino andare persi quando vengono espulsi dalla cache.

0

Questo problema è stato risolto. Posso confermare che funziona ora con Spark 1.5 e Tachyon 0.7

Problemi correlati