使用Flume压缩文件摄取

时间:2013-08-22 09:40:22

标签: hdfs flume

我可以使用Flume ng 1.3.0将任何类型的压缩文件(例如zip,bzip,lz4等)摄取到hdfs吗?我打算使用spoolDir。请提出任何建议。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以在源处将文件保持未压缩状态,并使用Flume提供的压缩算法在将数据提取到HDFS时压缩数据。 Avro源和接收器还支持压缩,以防您计划使用它们。

答案 2 :(得分:0)

我写了自定义源组件并解决了。自定义源可用于摄取任何类型的文件。

相关问题