我们有一个运行HDFS的日志收集代理,即该代理(如Flume)不断从一些应用程序收集日志,然后将其写入HDFS。读写过程不间断地运行,导致HDFS的目标文件不断增加。
这里有一个问题,由于输入数据不断变化,如果我将收集代理的目标路径设置为作业的输入路径,MapReduce作业会发生什么情况?
FileInputFormat.addInputPath(job, new Path("hdfs://namenode:9000/data/collect"));
Hadoop不是为进行更新而设计的。我尝试了用hive,它必须做插入覆盖,这是一个昂贵的操作,我们也可以做一些工作,使用地图还原,这也是一个昂贵的操作。
是他们的任何其他工具或方法,我可以用它来做frequent updates on Hadoop,或者我可以用spark来做同样的事情。请帮助我,我没有得到足够的信息,即使在谷歌100次。提前谢谢。