我是新手,想要了解火花工作的优化。
我的工作是根据条件合并2行的简单转换类型作业。人们可以对这些工作进行哪些类型的优化?
答案 0 :(得分:0)
有关这项工作的更多信息会有所帮助:
一些通用建议:
重新分区,加入,组合以及任何* By或* ByKey转换都可能导致混乱。
rdd.groupByKey().mapValues(_.sum)
将产生与rdd.reduceByKey(_ + _)
相同的结果。但是,前者将通过网络传输整个数据集,而后者将计算每个分区中每个密钥的本地总和,并在洗牌后将这些本地总和合并为更大的总和。通过利用来连接两个数据集时,可以避免随机播放
broadcast variables
。
flatMap-join-groupBy
模式。reduceByKey
当输入和输出值类型不同时。这并非详尽无遗。您还应该考虑调整Spark的配置。
我希望它有所帮助。