我想使用flume将json文件吸收到solr中,我想知道哪种方法是最好的。目前,唯一适合我的方法是在flume中使用jsonhandler,但是json事件需要有特定的格式(headers,body)。我要摄取的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,但我想知道它是否还不存在(我还没有找到一个好的例子)。一种选择是在变形线中进行。我看到有一个readjson函数,但我还没有使用它。感谢您的帮助!
暂无答案!
目前还没有任何答案,快来回答吧!