所以我有一个大型的oozie工作流,包含300个动作,其中有少量炮弹动作,sqoops,许多荨麻疹和地图减少。还有子工作流程。 我有一组X机器,每台机器都有相当的RAM和磁盘空间。
整个作业在生产中所花费的时间很长,但是对于我测试数据有限的开发目的,这项工作仍需要数小时的时间。
据我所知,即使分配一个JVM也需要大约1到3秒,仅此一项就可以让我的工作需要1小时(考虑平均每次采取4MR工作) 但是,由于我知道我的数据在开发中很小,我想更快地执行。
我想我应该能够在一台机器上运行整个oozie工作流程(这些X中的一个)并在几分钟内完成工作 -
我知道的其中一个选择是运行超级任务 - 我正在探索这些任务。但是它似乎只会在同一个JVM中运行相同hadoop作业的MR作业。 因此,如果配置单元查询触发4个MR作业,我仍然需要4个JVM。
是否可以跨MR作业重用JVM?
对于少量数据的更快运行时的任何其他建议都会有所帮助。
感谢。