Spark(29) -- SparkSQL底层如何执行及分布式SQL引擎

1. RDD 和 SparkSQL 运行时的区别

RDD 的运行流程
Spark(29) -- SparkSQL底层如何执行及分布式SQL引擎_第1张图片
大致运行步骤

  • 先将 RDD 解析为由 Stage 组成的 DAG, 后将 Stage 转为 Task 直接运行

问题

  • 任务会按照代码所示运行, 依赖开发者的优化, 开发者的会在很大程度上影响运行效率

解决办法

  • 创建一个组件, 帮助开发者修改和优化代码, 但这在 RDD 上是无法实现的

为什么 RDD 无法自我优化?

  • RDD 没有 Schema 信息
  • RDD 可以同时处理结构化和非结构化的数据

SparkSQL 提供了什么?

你可能感兴趣的:(大数据学习,spark)