一.官网位置

1.位置

Spark SQL的官网解释_第1张图片

2.解释

官网位置 DataSet1.6出现的
SchemaRDD < 1.3    1.3版本前叫 SchemaRDD   1.3以后 叫DataFrame 
DataSet支持 Scala , JAVA 不支持python
DataFrame 支持四种 JAVA,Scala.Python,R
DataFrame:并不是spark sql独创的,原来就有的,从其他框架借鉴过来的

二.DataFrame 注意事项

1.注意

分布式的数据集
按列进行组织的
就是等于关系型数据库总的一张表
DataFrame=DataSet[Row] 类型是Row

三.DataFram 与RDD的区别

1.定义层面

RDD定义里面有泛型 RDD[person ]  RDD不知道Person里面有什么的
DataFrame  不一样 ,里面是张表,所以暴露的信息多

Spark SQL的官网解释_第2张图片
Spark SQL的官网解释_第3张图片

2.底层方面

RDD开发各种语言有各自的运行环境,所以性能不一样,差异很大,但是DataFrame 是统一都经
过计划,在执行,不用管语言开发,性能差不多

Spark SQL的官网解释_第4张图片

3.API方面

DataFrame   比RDD 更加丰富

三.其余注意事项

1.注意点

Spark SQL入口点   2.0版本
    <2: SQLContext   HiveContext
    >=2: SparkSession
spark-shell  启动会默认启动sc,spark 两个  SparkContext,SparkSession
spark.read.json() 不推荐
可以这样写
   spark.read.format("json").load(path) 
   spark.read.format("text").load(path)

Spark SQL的官网解释_第5张图片

2.支持hive模式代码

  val spark = SparkSession.builder()
      .appName("Test")
      .master("local[2]")
      .enableHiveSupport() //支持hive
      .getOrCreate()