Приемник Flume копирует данные мусора в hdfs

При копировании данных с локального пути в приемник HDFS я получаю некоторые данные мусора в файле в месте расположения HDFS.

Мой файл конфигурации для Flume:

# spool.conf: A single-node Flume configuration

# Name the components on this agent
a1.sources = s1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.s1.type = spooldir  
a1.sources.s1.spoolDir = /home/cloudera/spool_source    
a1.sources.s1.channels = c1   

# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = flumefolder/events
a1.sinks.k1.hdfs.filetype = Datastream

#Format to be written
a1.sinks.k1.hdfs.writeFormat = Text

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

Я копирую файл с локального пути «/home/cloudera/spool_source» на путь hdfs «flumefolder/events».

Команда флейма:

flume-ng agent --conf-file spool.conf --name a1 -Dflume.root.logger=INFO,console

Файл "salary.txt" по локальному пути "/home/cloudera/spool_source":

GR1,Emp1,Jan,31,2500
GR3,Emp3,Jan,18,2630
GR4,Emp4,Jan,31,3000
GR4,Emp4,Feb,28,3000
GR1,Emp1,Feb,15,2500
GR2,Emp2,Feb,28,2800
GR2,Emp2,Mar,31,2800
GR3,Emp3,Mar,31,3000
GR1,Emp1,Mar,15,2500
GR2,Emp2,Apr,31,2630
GR3,Emp3,Apr,17,3000
GR4,Emp4,Apr,31,3200
GR7,Emp7,Apr,21,2500
GR11,Emp11,Apr,17,2000

По целевому пути "flumefolder/events" данные копируются со значениями мусора как:

1 W��ȩGR1,Emp1,Jan,31,2500W��ȲGR3,Emp3,Jan,18,2630W��ȷGR4,Emp4,Jan,31,3000W��ȻGR4,Emp4,Feb,28,3000W��ȽGR1,Emp1,Feb,15,2500W����GR2,Emp2,Feb,28,2800W����GR2,Emp2,Mar,31,2800W����GR3,Emp3,Mar,31,3000W����GR1,Emp1,Mar,15,2500W����GR2,Emp2,

Что не так в моем конфигурационном файле spool.conf, я не могу понять.


person Satish    schedule 23.10.2016    source источник


Ответы (1)


Конфигурация Flume чувствительна к регистру, поэтому измените строку типа файла на fileType и также исправьте значение Datastream, так как оно также чувствительно к регистру.

sinks.k1.hdfs.fileType = DataStream

Ваша текущая настройка означает, что используется файл последовательности по умолчанию, поэтому нечетные символы

person Chris White    schedule 23.10.2016
comment
Можете ли вы предоставить более подробную информацию - person Satish; 28.10.2016
comment
Конкретно? Измените одну строку, упомянутую выше, конфигурация чувствительна к регистру, что означает, что тип файла не совпадает с типом файла. - person Chris White; 31.10.2016