我想把大量的小文件移到hdfs序列文件。我遇到了两种选择:使用Flume。flume没有内置的文件源,这需要一个自定义源来推送文件。使用apache camel文件来路由hdfs。尽管以上两种方法都能达到目的,但在选择一种方法之前,我还是想权衡一下其他可用的方法。我特别感兴趣的是一个更具可配置性的解决方案,它会导致更少的可维护代码。
xfb7svmp1#
使用Flume。flume没有内置的文件源,这需要一个自定义源来推送文件。嗯。。。不,那不对。flume有一个假脱机目录源,它可以做你想要的高级别的工作。
nzrxty8p2#
好像是 Camel 的几行代码。即。 from("file:/..").to("hdfs:..") 加上一些初始化和项目设置。不确定使用任何方法都可以实现多简单(更少的代码行)。如果camel中的hdfs选项足够配置和灵活性,那么我猜这种方法是最好的。应该只需要几个小时(甚至几分钟)就可以启动和运行一些测试用例。
from("file:/..").to("hdfs:..")
2条答案
按热度按时间xfb7svmp1#
使用Flume。flume没有内置的文件源,这需要一个自定义源来推送文件。
嗯。。。不,那不对。flume有一个假脱机目录源,它可以做你想要的高级别的工作。
nzrxty8p2#
好像是 Camel 的几行代码。即。
from("file:/..").to("hdfs:..")
加上一些初始化和项目设置。不确定使用任何方法都可以实现多简单(更少的代码行)。
如果camel中的hdfs选项足够配置和灵活性,那么我猜这种方法是最好的。应该只需要几个小时(甚至几分钟)就可以启动和运行一些测试用例。