【问题标题】:Does Transformations combining affect Action execution time in PySpark?转换组合会影响 PySpark 中的动作执行时间吗?
【发布时间】:2017-07-27 15:32:37
【问题描述】:

我有一个 PySpark 代码,它接受多个输入数据帧并生成一个数据帧作为输出。 我在 DF 上执行了许多火花转换(映射、过滤器、连接、reducebykey ......),但没有火花动作。我执行的唯一操作是在代码末尾(输出 df 的 count())。 代码太长放在这里,但是看起来是这样的:

df1 = HiveContext.sql("select * from db.table1")
df2 = HiveContext.sql("select * from db.table2")
...
...
dfN = HiveContext.sql("select * from db.tableN")

#map transformation
#join transformations
#filter transformation
...
resultDF.count()

所以我有两个问题: 1. 组合多个转换是否会影响 PySpark 中的动作执行持续时间? 2.由于我最后只执行了一个动作,兑现会提高这段代码的性能吗?

感谢您的帮助!

【问题讨论】:

    标签: python-3.x apache-spark pyspark apache-spark-sql


    【解决方案1】:
    1. 组合多个转换是否会影响 PySpark 中的操作执行持续时间?

    是的。

    1. 由于我最后只执行一个操作,兑现会提高此代码的性能吗?

    不,因为在您执行操作之前,转换是延迟评估的。

    【讨论】:

    • 谢谢您,先生,这是一篇很有帮助的文章 :)
    猜你喜欢
    • 2021-09-25
    • 2021-04-03
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    相关资源
    最近更新 更多