我的项目有一个要求。我必须使用flume收集日志数据,这些数据必须输入到hive表中。这里我的要求收集文件放在一个文件夹到hdfs我正在做的使用spooldir。在这之后,我需要处理这些文件并将输出放在hive文件夹中,以便立即查询数据。我能用sink处理源文件吗?这样放在hdfs中的数据就可以处理成所需的格式了。?谢谢,萨蒂什
ohfgkhjo1#
实际上,我也做了一些非常类似的事情,并决定分享我所经历的旅程。希望你能在里面找到有用的东西。这是一个完整的例子,所有的细节都公开了,github上的代码也公开了http://www.lopakalogic.com/articles/hadoop-articles/log-files-flume-hive/
t0ybt7op2#
是的,您需要使用序列化程序(实现这个类-http://flume.apache.org/releases/content/1.2.0/apidocs/org/apache/flume/serialization/eventserializer.html),将其放入plugin.d/中,然后将其添加到hdfs接收器的配置中。
ie3xauqp3#
使用下面的配置已经达到了我的目的。source.type=spooldir source.spooldir=${location}
3条答案
按热度按时间ohfgkhjo1#
实际上,我也做了一些非常类似的事情,并决定分享我所经历的旅程。希望你能在里面找到有用的东西。这是一个完整的例子,所有的细节都公开了,github上的代码也公开了
http://www.lopakalogic.com/articles/hadoop-articles/log-files-flume-hive/
t0ybt7op2#
是的,您需要使用序列化程序(实现这个类-http://flume.apache.org/releases/content/1.2.0/apidocs/org/apache/flume/serialization/eventserializer.html),将其放入plugin.d/中,然后将其添加到hdfs接收器的配置中。
ie3xauqp3#
使用下面的配置已经达到了我的目的。
source.type=spooldir source.spooldir=${location}