代码之家  ›  专栏  ›  技术社区  ›  Shubham Jain

在对数据帧执行操作时是否创建了DAG?

  •  0
  • Shubham Jain  · 技术社区  · 7 年前

    我已经看到在RDD上执行任何操作时都会生成DAG,但是在我们的数据帧上执行操作时会发生什么?

    在数据帧上执行多个操作时,这些延迟计算的操作是否与RDD一样?

    当Catalyst优化器出现在图片中时?

    我对这些有点困惑。如果有人能对这些话题有所了解,那将是非常有帮助的。

    谢谢

    2 回复  |  直到 7 年前
        1
  •  2
  •   user6910411    7 年前

    每个操作 Dataset 尽管如此,连续处理模式被转换为内部操作序列 RDDs . 因此,DAG的概念完全适用。

    通过扩展,执行主要是懒惰的,尽管异常总是存在的,而且在 数据集 与纯API相比 RDD 应用程序编程接口。

    最后催化剂负责转化 数据集 API调用,转换为逻辑、优化的逻辑和 physical 执行计划,最后生成由任务执行的代码。

        2
  •  1
  •   rohit prakash    7 年前

    RDD是火花的组成部分。无论我们使用哪个抽象数据帧或数据集,内部的最终计算都是在RDD上完成的。

    也就是说,当您对数据帧执行操作时,也会创建DAG。

    下面的链接很有用 https://medium.com/@thejasbabu/spark-dataframes-10c349de04c

    对于催化剂优化器

    enter image description here

    您可以通过下面的链接了解更多信息 https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781783987061/4/ch04lvl1sec31/understanding-the-catalyst-optimizer

    推荐文章