使用flume接收压缩文件

gcuhipw9  于 2021-06-03  发布在  Flume
关注(0)|答案(3)|浏览(665)

我可以使用flume ng1.3.0将任何类型的压缩文件(比如zip、bzip、lz4等)摄取到hdfs吗?我计划使用spooldir。有什么建议吗。

u0njafvf

u0njafvf1#

我编写了自定义源组件和解析。自定义源可用于接收任何类型的文件。

liwlm1x9

liwlm1x92#

您可以在源位置保留未压缩的文件,并使用flume提供的压缩算法在数据被摄取到hdfs时对其进行压缩。avro源和汇还支持压缩,以防您计划使用它们。

wfveoks0

wfveoks03#

您可以接收任何类型的文件。您需要选择适当的反序列化程序。
下面的路径适用于压缩文件。您可以根据需要选择以下选项:

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

相关问题