大数据学习(26)-spark SQL核心总结

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门

💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


Spark SQL是Apache Spark的一个模块,它用于处理结构化数据。以下是Spark SQL的核心知识总结:

  1. 数据抽象:Spark SQL提供了DataFrame和DataSet两种数据抽象。DataFrame类似于RDD,但提供了更多的优化机制。DataSet是Spark最新的数据抽象,包含了DataFrame所有的优化机制。
  2. 执行引擎:Spark SQL使用了Catalyst作为其优化器,将SQL查询转换成RDD或DataFrame,然后提交到集群执行。相较于Hive,Spark SQL不需要依赖MapReduce,而是使用自己的执行计划。
  3. 数据源整合:Spark SQL可以读取多种数据源,包括Hive、Parquet、CSV、JSON等,并支持通过JDBC/ODBC连接访问其他数据库。
  4. 兼容性:Spark SQL与Hive兼容,可以通过启动thrift Server来支持JDBC/ODBC的访问,将自身作为一个BI Server使用。
  5. 性能优势:Spark SQL相较于RDD有更好的外部数据源读写支持,因为它直接访问列的能力,适用于处理结构化数据。
  6. 编程语言:Spark SQL支持使用Scala、Java、Python和R等多种编程语言编写应用程序。
  7. 数据处理:Spark SQL提供了丰富的数据处理功能,包括选择、过滤、聚合等操作,可以方便地进行数据转换和清洗。
  8. 分布式特性:Spark SQL作为分布式SQL查询引擎,可以处理大规模的数据集,并支持跨多个节点进行并行处理。

Spark SQL是一种功能强大的数据处理工具,适用于处理结构化数据。它提供了丰富的数据源整合、编程语言支持和数据处理功能,可以高效地处理大规模的数据集。

但是需要注意的是:

  1. 数据抽象方式:Spark使用RDD作为数据抽象方式,而Spark SQL使用DataFrame和DataSet作为数据抽象方式。
  2. 执行引擎:Spark使用自己的执行计划,而Spark SQL使用Catalyst作为优化器,将SQL查询转换成RDD或DataFrame,然后提交到集群执行。
  3. 性能优化:Spark SQL相较于Spark在处理结构化数据时具有更好的性能优化机制。
  4. 兼容性:Spark SQL与Hive兼容,可以通过启动thrift Server来支持JDBC/ODBC的访问,将自身作为一个BI Server使用。
  5. 编程语言支持:Spark支持使用Scala、Java、Python和R等多种编程语言编写应用程序,而Spark SQL主要支持使用Scala、Java和Python编写应用程序。
相关推荐
_Kayo_4 小时前
node.js 学习笔记3 HTTP
笔记·学习
一只栖枝4 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
CCCC13101637 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴9368 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头8 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
喂完待续9 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交9 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
艾莉丝努力练剑9 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
武昌库里写JAVA10 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
杜子不疼.11 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习