файл разбивается на множество частей в флюме

Привет, я пытаюсь загрузить CSV-файл из локальной файловой системы в файловую систему HDFS через Flume. У меня есть только один файл для анализа. Размер файла меньше 5 МБ, но он разбивается на множество частей при анализе на Flume. Вот моя конф.

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

Любая помощь будет оценена.


person Rakshita    schedule 07.06.2017    source источник


Ответы (1)


Вы допустили ошибку в самом файле конфигурации Flume.

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 является каким-то другим приемником в том же файле конфигурации, то также укажите все эти параметры для приемника HDFS)

person elijah    schedule 10.06.2017