Spark sql简介
什么是spark sql
- Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。
了解Spark Sql的必要性
- 我们知道hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!
特性
-
1.易整合
-
2.统一的数据访问方式
-
3.兼容Hive
-
4.标准的数据连接
优点
- 1、用到了内存列存储–可以大大优化内存使用效率,减少了内存消耗,避免了gc对大量数据性能开销
- 2、字节码生成技术(byte-code generation)–可以使用动态字节码生成技术优化新能(也可以理解成是通过sql语句生成scala代码的技术)
- 3、Scala代码的优化