我正在开发Hive和Solr Cloud 我必须将数据从hive索引到solr cloud,我尝试了以下链接,这对我没有好运 http://github.org/chimpler/hive-solr和 https://github.com/vroyer/hive-solr-search
在这两种情况下都是为了存储处理程序的错误
FOLLOWIG第二链接时的错误
Caused by: java.lang.ClassNotFoundException: org.vroyer.hive.solr.SolrInputFormat
我已将hive-solr * .jar复制到所有主节点和从节点中的HIVE lib和HADOOP lib中。
使用tez配置的配置单元
VERSIONS USING:
HADOOP 2.7.1 (Cluster with 3 slaves and one master)
HIVE 1.2.1
SOLR 5.3.1(Clusterd in 3 pc's)
我想在solr中索引hive数据,任何一个人都可以帮助我在其中缺少的东西。
答案 0 :(得分:1)
您可以尝试使用其他工具https://github.com/lucidworks/hive-solr。
为了将数据从Hive迁移到Solr,您可以创建一个solr-table
,如:
hive> CREATE EXTERNAL TABLE solr (id string, field1 string, field2 int)
STORED BY 'com.lucidworks.hadoop.hive.LWStorageHandler'
LOCATION '/tmp/solr'
TBLPROPERTIES('solr.zkhost' = 'zk.host:2181/solr',
'solr.collection' = 'collection1',
'solr.query' = '*:*');
然后你可以将数据插入到Solr中进行SQLlike查询。
INSERT OVERWRITE TABLE solr SELECT b.* FROM books b;
books
是hive中具有相同表模式的另一个表。
答案 1 :(得分:0)
使用给定代码构建jar并将jar添加到hadoop classpath
答案 2 :(得分:0)
确保检查构建的jar包含所需的类,并使用add jar命令将jar显式添加到classpath中,这样可以解决问题。