clickhouse(九、metabase链接及时区配置)

15 篇文章 31 订阅
2 篇文章 0 订阅

安装metabase

# 选用docker方式,下载镜像
docker pull metabase/metabase
# 创建插件目录
mkdir -p /data/docker/metabase/plugins
# 启动容器,将目录挂载到容器/tmp 目录下
docker run -d -v /data/docker/metabase/plugins:/tmp  \
			--name metabase  \
			metabase/metabase

配置clickhouse驱动

# 进入/data/docker/metabase/plugins 目录,下载clickhouse驱动包
wget https://github.com/enqueue/metabase-clickhouse-driver/releases/download/0.7.2/clickhouse.metabase-driver.jar
# 进入容器 
docker exec -it ${容器id} bash
# 移动jar到/plugins目录,之前安装github方式直接mount plugins,启动发现目录为空,所以改成其他目录导入形式
cp /tmp/clickhouse.metabase-driver.jar /plugins
# 退出重启容器
docker restart ${容器id}

localhost:3000 登入后发现clickhouse的驱动:
在这里插入图片描述

metabase时区配置

首先我们要确保clickhouse服务器的时间配置正常。/etc/clickhouse-server/config.xml中的时区配置。

<timezone>Asia/Shanghai</timezone>

链接clickhouse服务,执行select now(); 看是否和当前时间一致。
接下来看metabase中的时区配置是在管理员-> 基本设置-> 时区报表里。国内可以配置Asia/Hong_Kong,只是很可惜在ck中并不生效。可以通过metabase主页右上角的写SQL查询。

select now();

于是开始查看clickhouse的数据源配置,可以看到链接clickhouse是使用的jdbc方式,而jdbc url理论是可以带参数的。
在这里插入图片描述
于是尝试配置常规参数serverTimeZone=Asia/Shanghai,发现并没有效果。然后查看ck官方文档,发现ck时区需要客户端带有--use_client_time_zone的参数。于是在metabase配置 use_client_time_zone=Asia/Shanghai,又抛出异常:

one of use_server_time_zone or use_time_zone must be enabled

这个理解就有点奇怪了,字面理解就是use_time_zoneuse_server_time_zone必须有一个被使用而已,为什么配置一个还报错。尝试配置另一个use_time_zone,同样报错。虽然刚到莫名其妙,但看到这样的提示也觉得这个参数配置最少在链接上启到了作用。之后尝试同时配置后终于通过。这里的UTC+8Asia/Shanghai是等价的。

use_time_zone=UTC+8&use_server_time_zone=UTC+8

之后界面测试select now(); ,查询数据库DateTime格式列时间显示正常。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值