title: Spark proper use of Datasets?
body: <p><strong>Background</strong></p>
  
  <p>It is pretty easy to read about all of the benefits of Datasets in Spark including compile-time error checking, performance optimizations, etc.</p>
  
  <p>When you start coding with Datasets though, you quickly find that many operations return a Data Frame instead of a Dataset.  For example, dataSet.select("a", "b") will return a Data Frame (at least in many cases it will).</p>
  
  <p><strong>My Question</strong></p>
  
  <p>You can easily change a Data Frame to a Dataset after the select by using a case class and .as[CaseClassName].  Doing this after every transformation seems a little painful though.</p>
  
  <p>Is converting with "as" after every transformation the proper way to stick to using Datasets?  Or am I approaching this wrong in general?</p>