1. 官方定义
Spark SQL允许开发人员直接处理RDD,同时可以查询在Hive上存储的外部数据。Spark SQL的一个重要特点就是能够统一处理关系表和RDD,使得开发人员可以轻松的使用SQL命令进行外部查询,同时进行更加复杂的数据分析。
SparkSQL模块官方定义:针对结构化数据处理Spark Module模块。
主要包含三层含义:

- 第一、针对结构化数据处理,属于Spark框架一个部分
- 结构化数据:一般指数据有固定的 Schema(约束),例如在用户表中,name 字段是 String 型,那么每一条数据的 name 字段值都可以当作 String 来使用;

- schema信息,包含字段的名称和字段的类型,比如:JSON、XML、CSV、TSV、MySQL Table、ORC、Parquet,ES、MongoDB等都是结构化数据;
- 结构化数据:一般指数据有固定的 Schema(约束),例如在用户表中,name 字段是 String 型,那么每一条数据的 name 字段值都可以当作 String 来使用;
- 第二、抽象数据结构:DataFrame
- 将要处理的结构化数据封装在DataFrame中,来源Python数据分析库Pandas和R语
Spark SQL提供DataFrame和DataSet数据抽象,统一处理结构化数据。DataFrame基于RDD,带Schema信息,适合SQL操作;DataSet是强类型,具备编译时检查,性能更优。三者关系:DataFrame=RDD-Schema+SQL+优化,DataSet=DataFrame+泛型=RDD+Schema+SQL+优化。
订阅专栏 解锁全文
4389

被折叠的 条评论
为什么被折叠?



