我是Apache Flume的新手,我正在尝试使用Apache Flume& amp; Hadoop,但我不知道哪个版本适合这个练习。
请帮忙。
答案 0 :(得分:1)
我已经使用多个版本的Hadoop测试了Flume并且始终有效。官方的Apache Flume文档没有在其HDFS Sink中指定任何所需的Hadoop版本,所以我想它正在使用一些未随时间变化的Hadoop API(这非常好)。让我们来深入细节:
HDFSWriterFactory
用于获取HDFS编写器的HDFSEventSink.process()
类可以提供:
HDFSSequenceFile
:它使用org.apache.hadoop.io.SequenceFile
来编写数据。HDFSDataStream
:它使用org.apache.flume.serialization.EventSerializer
。HDFSCompressedDataStream
:再次使用org.apache.flume.serialization.EventSerializer
。一方面,org.apache.hadoop.io.EventSerializer
非常大,似乎维护了很多用于编写数据的弃用方法,因此可以解释与所有 Hadoop版本的兼容性。另一方面,org.apache.flume.serialization.EventSerializer
使用标准java.io.OutputStream
,我认为它非常稳定。