加入两个 Pyspark 数据帧的两种方法有什么区别

What is the difference between the two methods in joining two Pyspark dataframes

连接两个 Pyspark 数据帧的两种方法有什么区别。
1. 在两个数据帧上使用 "createOrReplaceTempView" 并使用 sparkSession.sql().
2. 在两个数据帧上使用 dataframe.alias(),然后使用 join() 方法

没什么区别,除非您在 SQL 或 DataFrame api 代码中提供任何提示或优化。您可以使用 DataFrame 或 SQL API 编写连接操作,这些操作将通过相同的催化剂优化器并转换为执行计划。

物理计划,通常称为 Spark 计划,通过生成不同的物理执行策略并通过成本模型进行比较来指定逻辑计划将如何在集群上执行。

物理规划导致一系列 RDD 和转换。这个结果就是为什么您可能听说过 Spark 被称为编译器的原因 - 它接受数据帧、数据集和 SQL 中的查询,并将它们编译成 RDD 转换为您