2015-11-16 5 views
0

Am работает на улей и Solr Cloud я должен индексировать данные из улья в Solr облака и я попытался следующие ссылки на этой не повезло мне http://github.org/chimpler/hive-solr и https://github.com/vroyer/hive-solr-searchHive в Solr Облако миграции данных

в обеих случаях я getiing ошибки для хранения HANDLER

ОШИБКИ пРИ FOLLOWIG 2-й Ссылки

Caused by: java.lang.ClassNotFoundException: org.vroyer.hive.solr.SolrInputFormat 

я скопированную улей-Solr * .jar в libE 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 любой может помочь мне, что я не хватает в нем.

+0

Solr не может найти свой класс. Поместите банки под 'SOLR_BASE/server/solr/YOUR_CORE/lib /'. –

ответ

0

сборки банка с данным кодом и добавьте баночку Hadoop пути к классам

0

Обязательно проверьте встроенную баночка содержит нужный класс и использовать дополнительные команды банки явно добавить банку в путь к классам, это решить бы проблему.

1

Есть еще один инструмент https://github.com/lucidworks/hive-solr, который вы могли бы попробовать.

Чтобы перенести данные из улья в 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 еще одна таблица в улье с одной и той же схемы таблицы.