首页 > 大数据 > Spark > SparkSQL 概述
Spark SQL是Spark用于结构化数据(structured data)处理的Spark模块。
SparkSQL的前身是Shark,给熟悉RDBMS但又不理解 MapReduce 的技术人员提供快速上手的工具。
Hive是早期唯一运行在 Hadoop 上的SQL-on-Hadoop工具。 但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低的运行效率,为了提高SQL-on-Hadoop的效率,大量的SQL-on-Hadoop工具开始产生,其中表现较为突出的是:
SQL-on-Hadoop工具开始产生,其中表现较为突出的是:
其中Shark是伯克利实验室Spark生态环境的组件之一,是基于Hive所开发的工具,它修改了下图所示的右下角的内存管理、物理计划、执行三个模块,并使之能运行在Spark引擎上。
SparkSQL抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等,重新开发了SparkSQL代码;由于摆脱了对Hive的依赖性,SparkSQL无论在数据兼容、性能优化、组件扩展方面都得到了极大的方便,真可谓“退一步,海阔天空”。
组件扩展方面 无论是SQL的语法解析器、分析器还是优化器都可以重新定义,进行扩展。
三.SparkSQL 优点:
无缝的整合了 SQL 查询和 Spark 编程
五。
———
DataSet是分布式数据集合。DataSet是Spark 1.6中添加的一个新抽象,是DataFrame的一个扩展。它提供了RDD的优势(强类型,使用强大的lambda函数的能力)以及Spark SQL优化执行引擎的优点。
DataSet也可以使用功能性的转换(操作map,flatMap,filter等等)。
DataFrame是DataSet的特列,DataFrame=DataSet[Row],所以可以通过as方法将DataFrame转换为DataSet。Row是一个类型,跟Car、Person这些的类型一样,所有的表结构信息都用Row来表示。获取数据时需要指定顺序
https://blog.csdn.net/mengxianglong123/article/details/121392689
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2914331/ ,如需转载,请注明出处,否则将追究法律责任。