title: Spark RDD take() with Sequence File
body: <p>It looks like <code>RDD.take()</code> just repeats the last element read when backed by a SequenceFile.<br>
  For instance:</p>
  
  <pre><code>val rdd = sc.sequenceFile("records.seq", classOf[LongWritable], classOf[RecordWritable])
  val records: Array[(LongWritable, RecordWritable)] = rdd.take(5)
  System.out.println(records.map(_._2.toString).mkString("\n"))
  </code></pre>
  
  <p>Outputs:</p>
  
  <pre><code>Record(3.1, 2.5)
  Record(3.1, 2.5)
  Record(3.1, 2.5)
  Record(3.1, 2.5)
  Record(3.1, 2.5)
  </code></pre>
  
  <p>Even though I know the rows are unique.  </p>
  
  <p>This problem is also present for <code>sc.binaryRecords()</code>.</p>
  
  <p>I realize this is probably related to the Hadoop Writable caching issue, but are there any plans to fix this?  Are there any work-arounds?</p>