2016-05-16 95 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