Spark SQL定义:
Spark SQL是基于spark core提供的一个用来处理结构化数据的模块(库)
它提供了一个编程抽象叫做DataFrame/Dataset,它可以理解为一个基于RDD数据模型的更高级数据模型,带有结构化元信息(schema)
Spark SQL可以将针对DataFrame/Dataset的各类SQL运算,翻译成RDD的各类算子执行计划,从而大大简化数据运算编程
Spark SQL的特性:
1.易整合:Spark SQL使得在spark编程中可以如丝般顺滑地混搭SQL和算子api编程
2.统一的数据访问方式:Spark SQL为各类不同数据源提供统一的访问方式,可以跨各类数据源进行愉快的join;所支持的数据源包括但不限于: Hive / Avro / CSV / Parquet / ORC / JSON / JDBC等;
3.兼容Hive:Spark SQL支持HiveQL语法及Hive的SerDes、UDFs,并允许你访问已经存在的Hive数仓数据;
4.标准的数据连接:Spark SQL的server模式可为各类BI工具提供行业标准的JDBC/ODBC连接,从而可以为支持标准JDBC/ODBC连接的各类工具提供无缝对接;