转换组合是否会影响PySpark中的Action执行时间?

时间:2017-07-27 15:32:38

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

我有一个PySpark代码,它接受多个输入数据帧并生成一个数据帧作为输出。 我在DF上执行了许多火花变换(map,filter,join,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中的Action执行持续时间吗? 2.由于我最后只执行了一次操作,兑现会改善代码性能吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  
      
  1. 组合多个转换是否影响PySpark中的Action执行持续时间?
  2.   

  
      
  1. 因为我最后只执行了一次操作,兑现会改善这段代码的性能吗?
  2.   

不,因为在执行操作之前会对延迟进行转换评估。