使用flume假脱机目录将整个文件作为单个文件移动到HDFS中

时间:2015-01-07 07:39:10

标签: flume-ng

就水槽文档而言,我们可以根据事件大小或事件数量或持续时间将数据移动到HDFS中。有没有办法将整个文件从假脱机目录移动到HDFS作为单个文件

Example 
Spooling Dir             HDFS
file1 - 1000 event ----> file1-1000 event
file2 - 1008 event ----> file2 - 1008 event
file3 - 800 event  ----> file3 - 800 event 

感谢。

1 个答案:

答案 0 :(得分:0)

好吧,有点儿。您需要调整配置以反映这一点,因为水槽不是为了推送整个文件而设计的,无论它们的大小如何,因为您可以更有效地使用hadoop fs -copyFromLocal来实现这一点。

以下是您需要配置的事项列表:

a)批量通道大小必须小于文件中事件的大小,以防您偶尔使用假脱机文件。否则您的活动可能会停留在您的频道中。

b)hdfs.rollSize = 0以确保您的文件在任何大小限制后都不会被翻转

c)hdfs.rollCount = 0以确保您的文件在任意数量的事件后都不会被翻转

d)将hdfs.rollInterval设置为适当的数量,以确保您的文件git按时假脱机。

e)当时假脱机一个文件以避免混淆。

基本上就是这样。