Spark - Spark SQL and DataFrame

DataFrame为编程抽象及SQL查询引擎。

DataFrame

带有列名的分布式数据集合,相当于关系型数据库中的表或R/Python中的data frame。
四种API:Scala, Java, Python, R

SQLContext及其子类

Spark SQL的起点。

HiveContext

SQLContext的子类。可以使用HiveQL解析器,访问Hive的UDF,读取Hive表。
不需要安装Hive。(未来可能并入SQLContext)

可以选择SQL解析器,SQLContext只有一种选择,HiveContext有两种……

示例

1
2
3
4
val sc: SparkContext // An existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)

val df = sqlContext.read.json("examples/src/main/resources/people.json")

解析sqlContext.read - DataFrameReader(@Experimental)