当我们对数据帧执行操作时是否创建了 DAG?
Is DAG created when we perform operations over dataframes?
我看到每当我们对 RDD 执行任何操作时都会生成 DAG,但是当我们对数据帧执行操作时会发生什么?
当对dataframe执行多个操作时,那些是像RDD一样惰性求值的吗?
催化剂优化器什么时候出现?
我对这些有点困惑。如果有人能对这些主题有所了解,那将真的很有帮助。
谢谢
Dataset
上的每个操作,尽管是连续处理模式,都会转换为内部 RDDs
上的一系列操作。因此DAG的概念是完全适用的。
推而广之,执行主要是懒惰的,尽管总是存在异常,并且与纯粹的 RDD
API 相比,在 Dataset
API 中更常见。
最后 Catalyst 负责将 Dataset
API 调用转换为逻辑、优化逻辑和 执行计划,并最终生成将由任务执行的代码。
RDD 是 spark 的构建块。无论我们使用哪种抽象 Dataframe 或 Dataset,内部最终计算都是在 RDD 上完成的。
即 - 当您对 Dataframes 执行操作时,DAG 也会创建。
以下 link 有帮助
https://medium.com/@thejasbabu/spark-dataframes-10c349de04c
用于催化剂优化器
您可以关注下方link了解更多信息
https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781783987061/4/ch04lvl1sec31/understanding-the-catalyst-optimizer
我看到每当我们对 RDD 执行任何操作时都会生成 DAG,但是当我们对数据帧执行操作时会发生什么?
当对dataframe执行多个操作时,那些是像RDD一样惰性求值的吗?
催化剂优化器什么时候出现?
我对这些有点困惑。如果有人能对这些主题有所了解,那将真的很有帮助。
谢谢
Dataset
上的每个操作,尽管是连续处理模式,都会转换为内部 RDDs
上的一系列操作。因此DAG的概念是完全适用的。
推而广之,执行主要是懒惰的,尽管总是存在异常,并且与纯粹的 RDD
API 相比,在 Dataset
API 中更常见。
最后 Catalyst 负责将 Dataset
API 调用转换为逻辑、优化逻辑和
RDD 是 spark 的构建块。无论我们使用哪种抽象 Dataframe 或 Dataset,内部最终计算都是在 RDD 上完成的。
即 - 当您对 Dataframes 执行操作时,DAG 也会创建。
以下 link 有帮助 https://medium.com/@thejasbabu/spark-dataframes-10c349de04c
用于催化剂优化器
您可以关注下方link了解更多信息 https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781783987061/4/ch04lvl1sec31/understanding-the-catalyst-optimizer