连接两个Pyspark数据帧的两种方法之间有什么区别?
1.在两个数据帧上均使用“ createOrReplaceTempView”,并使用sparkSession.sql()。
2.在两个数据帧上都使用dataframe.alias(),然后使用join()方法
最佳答案
没有区别,除非您在SQL或DataFrame api代码中给出任何提示或优化。您可以使用DataFrame或SQL API编写联接操作,这些操作将通过相同的催化剂优化器并转换为执行计划。
物理计划(通常称为Spark计划)通过生成不同的物理执行策略并通过成本模型进行比较来指定逻辑计划在集群上的执行方式。
物理规划会导致一系列的RDD和转换。此结果就是为什么您可能会听说Spark被称为编译器的原因-它接受DataFrames,Datasets和SQL中的查询,然后将它们编译为RDD转换。
关于python - 联接两个Pyspark数据帧的两种方法有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53823364/