我在分布式缓存中有一个文件。驱动程序类根据作业的输出更新此文件并启动新作业。新工作需要这些更新。我目前的做法是用一个新的(更新的)分布式缓存文件替换旧的分布式缓存文件。是否有一种方法可以将差异(旧文件和新文件之间)广播给所有需要该文件的任务跟踪器?或者,在一个作业(在我的例子中是第一个作业)完成后,所有特定于该作业的目录/文件都被删除了,因此朝这个方向思考是没有意义的?
uqxowvwt1#
我认为分布式缓存的构建并没有考虑到这样的场景。它只是将文件放在本地。在你的情况下,我会建议把文件放在hdfs,并使所有感兴趣的各方采取从那里作为一个优化,你可以给这个文件高复制系数,它将是本地的大多数任务。
1条答案
按热度按时间uqxowvwt1#
我认为分布式缓存的构建并没有考虑到这样的场景。它只是将文件放在本地。
在你的情况下,我会建议把文件放在hdfs,并使所有感兴趣的各方采取从那里
作为一个优化,你可以给这个文件高复制系数,它将是本地的大多数任务。