druid在superset中展示的时区问题
程序员文章站
2022-05-24 15:31:50
...
druid在superset中展示的时区问题
superset是一个在BI项目中,展示效果非常好的组件,并且可以与多种组件结合。
博主之前在使用中遇到了点问题,特此记录下来。
问题1
问题描述:现有数据是通过FileBeat+LogStash+Kafka+Druid+SuperSet,这样一个数据流程,使用过logstash的人应该都比较清楚,这个组件是ELK中的一部分,LogStash会在生成这个@timestamp的过程中默认更换时区为0区,Kibana中有默认添加了8个小时,所以最终如果使用ELk是没有任务问题的。但是用Druid ==> SuperSet是没有这个自动添加8个小时的,问题就出现了,比如在superset中选择查看今天的数据的时候,是显示的从八点开始向后的数据,0-8点的数据是没有的。
解决方案:我选择了在Superset的设置文件 config.py中修改 (superset为docker安装,版本为 0.30.0)
注释掉原本的137行,更改为下边这个
DRUID_TZ = tz.tzoffset('GMT+8', 28800)
效果图:现在已经能显示0-8小时的数据!
参考自:https://zhuanlan.zhihu.com/p/34847729
注意: 上文操作如果superset的config.py和数据源都更改了,是有坑的,详情见问题2
问题2
问题描述: 经过上边的修改之后在superset中filter时间是没有问题的,但是如果做成折线图(只要是x轴有时间这种图都有问题),又变成从八点开始的了,苦思不得其解,后来想到在superset的界面操作也更改了时区为8,可能是这个原因,果然是!
修改过“时区偏移”如图
解决方案:
把superset的druid数据源的datesource中的“时区偏移”更改回默认的0 ,即可解决问题。
还原“时区偏移”为默认值,即可
解决问题!!
共同踩坑!共同成长!