当前位置 博文首页 > Shockang的博客:Spark SQL 通过什么来实现?

    Shockang的博客:Spark SQL 通过什么来实现?

    作者:[db:作者] 时间:2021-08-23 19:06

    前言

    本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

    本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

    正文

    若需处理的数据集是典型结构化数据源,可在 Spark 程序中引入 Spark SQL 模块,

    首先读取待处理数据并将其转化为 Spark SQL 的核心数据抽象 - DataFrame

    进而调用 Dataframe API 来对数据进行分析处理,也可以将 DataFrame 注册成表,直接使用 SQL 语句在数据表上进行交互式查询。

    当计算结果时, Spark 底层会使用相同的执行引擎,独立于用来表达计算的 API 编程语言(目前 Spark SQL 主要支持 Scala 、 Python 、 Java 、 R ),

    所以开发者可以选择 Scala 、 Python、Java 、 R 中较自己更顺手的编程语言进行 Spark SQL 学习、开发

    另外,相比于 RDD , Spark SQL 模块的数据抽象( DataFrame )不仅提供了更加丰富的算子操作,还清楚地知道该数据集包含哪些列,每一列数据的名称、类型,

    并将这些结构信息 ( Schema ) 运用在底层计算、存储和优化中,从而在程序员并没有显式调优的情况下, Spark SQL 模块也会自动根据 DataFrame 提供的结构信息来减少数据读取、提升执行效率以及对执行计划进行优化

    除了 Spark SQL 模块内部自动对计算过程进行丰富、智能地调优外,我们也可以通过手动设置诸多 Spark 应用运行时的参数来更好地配合 Spark 集群 cpu 、内存可用资源以及业务需求等实际情况,进而提升 Spark 应用的执行效率以及整个 Spark 集群的健康有效地运行。

    cs
    下一篇:没有了