Java 动态添加输入数据到Hadoop Map Reduce作业?

Java 动态添加输入数据到Hadoop Map Reduce作业?,java,hadoop,hdfs,Java,Hadoop,Hdfs,我可以在map reduce作业运行时将输入文件或输入数据附加到该作业中,而不创建竞争条件吗?我认为理论上您可以在输入中添加更多文件,只要: 匹配您的FileInputFormat模式 在调用InputFormat.getSplits()之前发生,这在提交作业后会给您很短的时间 关于计算拆分后的争用条件,请注意,“附加到现有文件”仅在版本更新后可用 即使你可以修改你的文件,你的分割点已经预先计算好了,很可能你的新数据不会被地图绘制者提取出来。不过,我怀疑这会导致你的人流崩溃 您可以尝试的是禁用文

我可以在map reduce作业运行时将输入文件或输入数据附加到该作业中,而不创建竞争条件吗?

我认为理论上您可以在输入中添加更多文件,只要:

  • 匹配您的FileInputFormat模式
  • 在调用InputFormat.getSplits()之前发生,这在提交作业后会给您很短的时间
  • 关于计算拆分后的争用条件,请注意,“附加到现有文件”仅在版本更新后可用

    即使你可以修改你的文件,你的分割点已经预先计算好了,很可能你的新数据不会被地图绘制者提取出来。不过,我怀疑这会导致你的人流崩溃


    您可以尝试的是禁用文件内的拆分(即分配映射程序文件)并尝试附加。我认为一些有可能被刷新的数据最终可能会出现在地图绘制程序中(这只是我的猜测)。

    事实上,答案是“不”。分割是在游戏的早期计算的:之后你的新文件将不包括在内。

    谢谢你提供的信息。我将假设这个答案的结果是“不”。我们在最后尝试一下我的建议。我认为这将有助于解决比赛条件问题。我需要一个保证,某些映射程序将始终获取新数据,但这似乎不是真的。如果在映射程序结束流之前关闭文件,他们可能会获取所有数据(但这同样需要一些实验)