Flume HDFS源

时间:2015-02-26 13:04:47

标签: hdfs flume

我想使用flume将数据从hdfs目录转移到hdfs目录中,在此转移中我想应用处理morphline。

例如:我的来源是

"hdfs://localhost:8020/user/flume/data"

我的水槽是

"hdfs://localhost:8020/user/morphline/"

水槽有可能吗?

如果是,源水槽的类型是什么?

2 个答案:

答案 0 :(得分:5)

据我所知,没有读取HDFS数据的来源。主要原因是Flume旨在将以某种方式发送的大量数据移动到代理。如文档中所述:

“Flume源消耗由外部源(如Web服务器)传递给它的事件。外部源以目标Flume源识别的格式向Flume发送事件。例如,Avro Flume源可以用来从Avro客户端或从Avro接收器发送事件的流程中的其他Flume代理接收Avro事件。可以使用Thrift Flume Source定义类似的流程,以接收来自Thrift Sink或Flume Thrift Rpc Client的事件或使用Flume thrift协议生成的任何语言编写的Thrift客户端。“

您拥有official web page的所有可用来源。

据说,您需要一些负责读取输入HDFS文件的过程并将其发送到任何可用的源。可能ExecSource适合您的需要,因为您可以指定将运行的命令以生成输入数据。这样的命令可以是hadoop fs -cat /hdfs/path/to/input/data或类似的东西。

然而,考虑到你想要做的处理,我想你需要一个自定义接收器才能实现它。我的意思是,源部分仅用于读取数据并以Flume事件的形式将其放入Flume通道。然后,接收器或接收器将通过处理它们并生成适当的输出来消耗此类事件。

答案 1 :(得分:0)

另一种选择是将netcat源连接到同一个接收器,只将cat文件连接到它...