2014-08-27 3 views
2

У меня есть такая конфигурация в hive-site.xmlHivesever2 не удалось загрузить класс EsStorageHandler из elasticsearch-Hadoop

<property> 
    <name>hive.aux.jars.path</name> 
    <value>/path/to/elasticsearch-hadoop-2.0.1.jar</value> 
</property> 

Когда я картографических данных для Elasticsearch в HiveCli, он работает правильно этот код:

CREATE EXTERNAL TABLE artists (...) 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' 
TBLPROPERTIES('es.resource' = 'radio/artists', 
       'es.index.auto.create' = 'false') 

Но когда я использую его в Hive Java Client (я начал Hiveserver2), он выбрал это исключение:

FAILED: Execution Error, return code 1 
    from org.apache.hadoop.hive.ql.exec.DDLTask. 
     org.apache.hadoop.hive.ql.metadata.HiveException: 
    Error in loading storage handler.org.elasticsearch.hadoop.hive.EsStorageHandler 

ответ

1

Добавьте файл elasticsearch-Hadoop-2.0.1.jar в папку $ HIVE_HOME/lib.

Корректировать query- создать внешнюю таблицу художника (...) строки формат serde 'org.elasticsearch.hadoop.hive.EsSerDe' сохраненной tblproperties 'org.elasticsearch.hadoop.hive.EsStorageHandler' (' s.resource '=' radio/artist ',' es.index.auto.create '=' false ');

Надеюсь, это может помочь.

Смежные вопросы