首页 > 其他 > 详细

superset连接es中的日期格式问题及解决

时间:2020-04-17 19:17:48      阅读:420      评论:0      收藏:0      [点我收藏+]

问题:

使用superset连接es时,由于es的默认时间格式为iso 8601格式的,superset不能直接识别。在创建的chart中如果用到时间过滤,则会出现以下错误:

base error: Error (search_phase_execution_exception): all shards failed

 

原因分析:

查看superset发送给服务器的sql语句,可以发现这样的语句:where create_time >=‘2020-04-14 00:00:00‘ and  create_time <=‘2020-04-15 00:00:00‘

但此时es的日期格式为yyyy-MM-ddTHH:mm:ss.000Z

两边日期格式不匹配,可能是导致以上错误的原因

 

解决:

查了一整天的资料也没有找到答案,在烦闷中逐个浏览superset关于字段中的属性的说明,突然看到这样一段话:

技术分享图片

 

 再联想到es的日期字段也可以输入时间戳,心想有没有可能是es输出的实际也是时间戳呢。于是一咬牙一跺脚,把Datatime Format的值设置成epoch_ms。然后再试时间过滤条件,居然成了!

 

具体原因不明,还待研究。

 

superset连接es中的日期格式问题及解决

原文:https://www.cnblogs.com/cauwt/p/superset_es_datetime.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!