Spark SQL 是 Spark 用于结构化数据(structured data)处理的 Spark 模块。1.2 Hive and SparkSQLSparkSQL 的前身是 Shark,Shark是给熟悉 RDBMS 但又不理解 MapReduce 的技术人员提供的快速上手的工具。 Hive 是早期唯一运行在 Hadoop 上的 SQL-on-Hadoop 工具。但是 MapReduce 计算过程中大量的中间磁盘落地过程消耗了大量的 I/O,降低的运行效率,为了提高 SQL-on-Hadoop 的效率,大量的 SQL-on-Hadoop 工具开始产生,其中表现较为突出的是:⚫ Drill ⚫ Impala ⚫ Shark 其中 Shark 是伯克利实验室 Spark 生态环境的组件之一,是基于 Hive 所开发的工具,它修改了内存管理、物理计划、执行三个模块,并使之能运行在 Spark 引擎上。Shark 的出现,使得 SQL-on-Hadoop 的性能比 Hive 有了 10-100 倍的提高。
3Spark-SQL 特点 1.3.1 易整合。无缝的整合了 SQL 查询和 Spark 编程1.3.2 统一的数据访问。使用相同的方式连接不同的数据源1.3.3 兼容 Hive。在已有的仓库上直接运行 SQL 或者 HQL1.3.4 标准数据连接。通过 JDBC 或者 ODBC 来连接。