Spark SQL架构
Spark SQL是Spark的核心组件之一(2014.4 Spark1.0)
能够直接访问现存的Hive数据
提供JDBC/ODBC接口供第三方工具借助Spark进行数据处理
提供了更高层级的接口方便地处理数据
支持多种操作方式:SQL、API编程
支持多种外部数据源:Parquet、JSON、RDBMS等
SparkContext
SQLContext:Spark SQL的编程入口
HiveContext:SQLContext的子集,包含更多功能
SparkSession(Spark 2.x推荐)
SparkSession:合并了SQLContext与HiveContext,提供与Spark功能交互单一入口点,并允许使用DataFrame和Dataset API对Spark进行编程
Dataset
特定域中的强类集合
scala> spark.createDataset(1 to 3).show
scala> spark.createDataset(List(("a",1),("b",2),("c",3))).show
scala> spark.createDataset(sc.parallelize(List(("a",1,1),("b",2,2)))).show