本节主要内容如下
- DataFrame与RDD的互操作实战
- 不同数据源构建DataFrame实战
DataFrame与RDD的互操作实战
1 采用反映机制进行Schema类型推导(RDD到DataFrame的转换)
SparkSQL支持RDD到DataFrame的自动转换,实现方法是通过Case类定义表的Schema,Spark会通过反射机制读取case class的参数名并将其配置成表的列名。
//导入该语句后,RDD将会被隐式转换成DataFrame
import sqlContext.implicits._
//定义一个类为Person的Case Class作为Schema
case class Person(name: String, age: Int)
//读取文件并将数据Map成Person实例,然后转换为DataFrame,采用toDF()方法,本实例从HDFS上进行数据读取
val people = sc.textFile(