通过Flume将JSON文件摄取到SOLR中

时间:2015-07-01 08:46:26

标签: json solr bigdata cloudera flume

我想使用Flume将JSON文件摄取到SOLR中,我想知道哪种方法最好。 目前,对我有用的唯一方法是在Flume中使用JSONHandler,但json事件需要具有特定的格式(标题,正文)。我想要摄取的JSON事件具有嵌套数据,并且没有(标题,正文)格式。 请在下面找到我的Flume源配置(HTTP源,内存通道和solr接收器)。

c_aggregator_poc.sources  = c_analytics-httpsource1-poc
c_aggregator_poc.channels = c_analytics-memorychannel1-poc
c_aggregator_poc.sinks    = c_analytics-solrsink1-poc


c_aggregator_poc.sources.c_analytics-httpsource1-poc.type     = http
c_aggregator_poc.sources.c_analytics-httpsource1-poc.handler     = org.apache.flume.source.http.JSONHandler
c_aggregator_poc.sources.c_analytics-httpsource1-poc.port     = 9049

c_aggregator_poc.sources.c_analytics-httpsource1-poc.channels = c_analytics-memorychannel1-poc

c_aggregator_poc.channels.c_analytics-memorychannel1-poc.type   = memory
c_aggregator_poc.channels.c_analytics-memorychannel1-poc.capacity   = 10000
c_aggregator_poc.channels.c_analytics-memorychannel1-poc.transactionCapacity   = 1000


c_aggregator_poc.sinks.c_analytics-solrsink1-poc.type         = org.apache.flume.sink.solr.morphline.MorphlineSolrSink
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.channel      = c_analytics-memorychannel1-poc
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.morphlineFile   = morphlines.conf
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.morphlineId = morphlineC_analytics

另一个想法是编写一个自定义的JSONHandler,但我想知道它是否还不存在(我还没有找到一个好的例子)。 一个选项是在Morphlines中完成。我看到有一个readJson函数,但我还没有使用它。 任何帮助表示赞赏!

0 个答案:

没有答案