我有一个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.由于我最后只执行了一次操作,兑现会改善代码性能吗?
感谢您的帮助!
答案 0 :(得分:0)
- 组合多个转换是否影响PySpark中的Action执行持续时间?
醇>
是
- 因为我最后只执行了一次操作,兑现会改善这段代码的性能吗?
醇>
不,因为在执行操作之前会对延迟进行转换评估。