2016-05-16 91 views
1

當我創建通過ElasticSearch處理程序存儲蜂巢外部表,它的工作原理沒有錯誤:蜂巢elasticsearch外部表的創建

*CREATE TABLE test (day STRING, idCust STRING) 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' 
TBLPROPERTIES('es.resource' = 'test/test', 
'es.mapping.names' = 'day:@timestamp', 
'es.nodes' = 'localhost');* 

當我插入它的數據,它的工作原理

但是,當我嘗試查詢它,我得到的錯誤:

失敗,異常java.io.IOException:org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:索引[測試/測試]丟失和設置[es.index.read.missing.as.empty ]設置爲假

當我檢查指標列表中, '測試' 不會出現

curl 'localhost:9200/_cat/indices?v'

請幫助

回答

1

'es.index.auto.create' 默認爲真

只需添加這

CREATE TABLE test (day STRING, idCust STRING) 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' 
TBLPROPERTIES('es.resource' = 'test/test', 
'es.mapping.names' = 'day:@timestamp', 
'es.nodes' = 'localhost', **'es.index.auto.create' = 'true','es.index.read.missing.as.empty'='yes'**); 

我認爲它可能解決p roblem