我正在使用 Elasticsearch Hive 集成,这样我就可以从 Hadoop 表中查询,在数据错误时发送警报(使用 ElastAlert),以及在 Kibana 上显示。
这就是我创建弹性表的方式:
CREATE EXTERNAL TABLE my_elastic_table (
timestamp BIGINT,
count BIGINT )
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.resource' = 'my_index/my_type);
我插入到 Elastic Hive 表中:
INSERT OVERWRITE TABLE my_elastic_table
SELECT {something} FROM my_hadoop_table;
但是,它并不是真正OVERWRITE
的 elastic_table,它实际上是附加到 elastic_table 的。所以我试图截断 elastic_table,它给了我以下错误:
FAILED: SemanticException [Error 10146]: Cannot truncate non-managed table elastic_table.
所以我问是否有人知道如何截断、更新或覆盖 Elastic Hive 表。或者有没有更好的方法来处理这类问题。谢谢!