0

在 Hadoop 中如何处理每天增加的数据:

例如:

第一天我可能在某个输入文件夹中有 100 万个文件(例如 hadoop/demo)

在同一文件夹中的第二天,文件可能会从现有的 100 万个文件 + 另一个新的 100 万个文件增加,因此总共 200 万个。

同样是第 3 4 天...继续前进。

我的限制是 -> 第一天的文件不应该在第二天处理。

(ie) 当新文件与它们一起添加时,不应再次处理已经处理的文件。更具体地说,只应处理新添加的文件,而应忽略旧文件。

所以请帮助我解决这个问题。

不过,如果您不了解约束条件,请说出不清楚的地方,以便我可以详细说明我的约束条件!

4

1 回答 1

2

hadoop 本身并不支持它,因为它是应用程序逻辑的一部分。我会建议一些基于 HDFS 的解决方案,因此您将拥有尚未处理数据的目录(或具有子目录的更好的目录层次结构)。
您的日常工作应该将所有数据保存在那里,对其进行处理并移至“已处理”文件夹。
有意义的通常权衡是以某些文件的意外双重处理不会导致问题的方式制作逻辑。
. 在这种情况下,工作在处理后崩溃,但在移动之前不会产生问题。
您可能会使用一些 wokrflow 工具而不是日常调度,因为它们能够通过数据可用性触发作业,尽管我个人还没有使用它们。

于 2012-02-10T09:04:11.030 回答