通过case class创建DataFrame
通过case class 把rdd转化为DF是我们常用的方法,然后DF.registerTempTable将DF转化为表格进行SQL操作。而在早期版本中(1.4.1),case class有一个限制,就是字段不能超过22个,元组同样有这个限制。所以当字段较多时,就不方便用case class来创建DataFrame。
SparkSQL schema创建DataFrame
Spark提供了另外一种创建DataFrame的方式,即创建schema。一下是官方文档中的示例:
//***地址:http://spark.apache.org/docs/1.4.1/sql-programming-guide.html#inferring-the-schema-using-reflection
// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// Create an RDD
val people = sc.textFile("examples/src/main/resources/people