文件在水槽中分成许多部分

时间:2017-06-07 07:37:04

标签: hadoop flume flume-ng

您好我正在尝试通过flume将csv文件从本地文件系统加载到HDFS文件系统。我只有一个用于解析的文件。文件大小小于5mb,但它在水槽上解析时分成很多部分我的水槽就在那里。

FileAgent.sources = tail
FileAgent.channels = Channel-2
FileAgent.sinks = HDFS
FileAgent.sources.tail.type = exec
FileAgent.sources.tail.command = cat /tmp/flumeSpool/2.csv
FileAgent.sources.tail.channels = Channel-2

FileAgent.sinks.HDFS.type = hdfs
FileAgent.sinks.HDFS.hdfs.path = hdfs://127.0.0.1:54310/
FileAgent.sinks.HDFS.hdfs.fileType = DataStream
FileAgent.sinks.HDFS.channel = Channel-2
FileAgent.channels.Channel-2.type = file

FileAgent.channels.Channel-2.capacity = 100000
FileAgent.channels.Channel-2.transactionCapacity = 80000
FileAgent.sinks.HDFS.hdfs.writeFormat = Text
FileAgent.sinks.k1.hdfs.rollSize = 10485760
FileAgent.sinks.k1.hdfs.rollCount = 0
FileAgent.sinks.k1.hdfs.rollInterval = 300

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你在水槽配置文件中犯了错误。

FileAgent.sinks.HDFS.hdfs.writeFormat = Text
FileAgent.sinks.k1.hdfs.rollSize = 10485760
FileAgent.sinks.k1.hdfs.rollCount = 0
FileAgent.sinks.k1.hdfs.rollInterval = 300

您在启动时将接收器名称定义为k1,同时将其定义为HDFS。 重写如下:

FileAgent.sinks.HDFS.hdfs.writeFormat = Text  
FileAgent.sinks.HDFS.hdfs.rollSize = 10485760
FileAgent.sinks.HDFS.hdfs.rollCount = 0
FileAgent.sinks.HDFS.hdfs.rollInterval = 300

由于错误名称,接收器采用以下配置的默认值: 卷大小= 1024(字节) 掷骰数= 10(事件) 因此很多文件。 (如果k1是同一个conf文件中的一些其他接收器,那么也提到HDFS接收器的所有这些参数)