text: Title: Update Spark notebook to use DataFrames
  Body: Spark 1.3 introduced DataFrames:
  
  > A DataFrame is a distributed collection of data organized into named columns. It is conceptually equivalent to a table in a relational database or a data frame in R/Python, but with richer optimizations under the hood. DataFrames can be constructed from a wide array of sources such as: structured data files, tables in Hive, external databases, or existing RDDs.
  
  https://spark.apache.org/docs/1.3.0/sql-programming-guide.html#dataframes
  
  Spark 1.6 introduces DataSets:
  
  > A new Dataset API. This API is an extension of Spark’s DataFrame API that supports static typing and user functions that run directly on existing JVM types (such as user classes, Avro schemas, etc). Dataset’s use the same runtime optimizer as DataFrames, but support compile-time type checking and offer better performance. More details on Datasets can be found on the SPARK-9999 JIRA.
  
  https://databricks.com/blog/2015/11/20/announcing-spark-1-6-preview-in-databricks.html
  
  Note: PySpark will included DataSets in the upcoming Spark 2.0.
  