Могу ли я глотать любой тип сжатого файла (скажем, zip, bzip, lz4 и т. Д.) В hdfs с использованием Flume ng 1.3.0? Я планирую использовать spoolDir. Любое предложение пожалуйста.Сжатый файл с использованием Flume
1
A
ответ
3
Вы можете загружать файлы любого типа. Вам нужно выбрать соответствующий десериализатор.
Ниже маршрута работает сжатый файл. Вы можете выбрать варианты, как вам нужно:
agent.sources = src-1
agent.channels = c1
agent.sinks = k1
agent.sources.src-1.type = spooldir
agent.sources.src-1.channels = c1
agent.sources.src-1.spoolDir = /tmp/myspooldir
agent.sources.src-1.deserializer=org.apache.flume.sink.solr.morphline.BlobDeserializer$Builder
agent.channels.c1.type = file
agent.sinks.k1.type = hdfs
agent.sinks.k1.channel = c1
agent.sinks.k1.hdfs.path = /user/myevents/
agent.sinks.k1.hdfs.filePrefix = events-
agent.sinks.k1.hdfs.fileType = CompressedStream
agent.sinks.k1.hdfs.round = true
agent.sinks.k1.hdfs.roundValue = 10
agent.sinks.k1.hdfs.roundUnit = minute
agent.sinks.k1.hdfs.codeC = snappyCodec
0
Вы можете оставить файл без сжатия в источнике и использовать алгоритмы сжатия, предусмотренные Flume для сжатия данных, когда он попадает в HDFS. Источники и раковины Avro также поддерживают сжатие в случае, если вы планируете их использовать.
0
Я написал пользовательский компонент источника и решил. Пользовательский источник может использоваться для приема любого файла.
Привет, Рипон, не могли бы вы подробно объяснить вашу оценку. Я понимаю, что с использованием таможенного источника вы можете читать каждый файл как право на мероприятие? как вы обрабатываете его на стороне поглотителя, чтобы писать в hdfs? –