Morphlines命令extractHBaseCells不支持hbase中的avro对象,有没有解决方法?

时间:2014-02-18 21:12:10

标签: hbase cloudera avro solrcloud morphline

我正在使用CDH4.4。我有一个当前正在运行的应用程序,它通过avro将记录序列化到hbase中的单个列中。我正在将此表的当前solr索引移动到solrcloud,因此我正在测试MapReduceIndexerTool以对整个表进行批量索引。我有一个非常简单的morphlines文件,目前使用“extractHBaseCells”来读取HBase中的记录。

我设置了一个跟踪器概念验证,只对indexkey =>编制索引。 id并将avro blob填充到另一个字段中,只是为了验证我可以从HBase获取数据到SolrCloud中的我的集合,这是有效的。但是我想解析avro并将这些值粘贴到solrdocuments上他们自己的字段中,然后再将它们提交给solrcloud。但似乎“extractHBaseCells”的性质阻止了这一点。如果有一个hbase reader命令发出更多通用输出然后可以流入morphlines中的avro命令,我相信我可以解决自己的问题。

是否有任何已知的解决方法可以解析存储在HBase中的avro,或者可能还有一些可以解决此问题的morphlines命令?

2 个答案:

答案 0 :(得分:2)

您是否只能读取avro列和extractAvroPaths来解析avro?

http://cloudera.github.io/cdk/docs/0.6.0/cdk-morphlines/morphlinesReferenceGuide.html#extractAvroPaths

或者最糟糕的情况是,一个将hbase avro列转换/转换为avro对象的java动作。

答案 1 :(得分:0)

user1842757的链接让我走上了正确的道路。我的问题出在我的solr架构上。我的架构中没有定义“_attachment_body”字段或“_attachment_mimetype”字段。这些是extractAvroPaths工作所必需的,但我在支持morphlines或hbase-mr-indexer的任何教程,示例或pdf手册中都没有明确说明这一点。