Hi, 

I just started to fiddle with Spark a week ago. I am trying to understand take 
function more. I have a JavaRDD<T> variable, let’s say dataSet which is 
initialized by getSequenceFileAsRDD, when I try dataSet.take(1), it throughs an 
error as follows:

java.lang.IllegalStateException: Must not use direct buffers with
InputStream

But when I add add the following lines before the take call: 

        dataSet.context().setCheckpointDir("/tmp/checkpoint/", true);
        dataSet.checkpoint();
        dataSet.saveAsTextFile("/tmp/backup.txt”);

        dataSet.take(1);

Then take() works. I am confused here by how RDD's take method. Can anybody 
help me explain why this happens?

Thanks a lot,

-cj

Reply via email to