首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QuestDB运行Grafana

如何使用QuestDB运行Grafana
EN

Stack Overflow用户
提问于 2021-01-07 17:50:50
回答 1查看 142关注 0票数 2

我已经在QuestDB中导入了一个演示数据集,可以从控制台成功查询到它。我正在使用Grafana构建一个仪表板来测试可视化。

我的QuestDB安装在9000端口上运行,我可以导入它而不会出现任何问题:

代码语言:javascript
复制
curl -F data=@weather.csv http://localhost:9000/imp

我正在运行以下查询,但该查询失败:

代码语言:javascript
复制
SELECT timestamp as time,
       avg(visMiles) AS average_visibility
FROM 'weather.csv'
WHERE $__timeFilter(timestamp)
SAMPLE BY $__interval
LIMIT 1000

我得到的错误是

代码语言:javascript
复制
pq: unknown function name: between(TIMESTAMP,STRING,STRING)

我正在使用他们的examples中提供的数据集。

EN

回答 1

Stack Overflow用户

发布于 2021-01-07 18:49:35

QuestDB依赖于在创建表期间指定的时间戳。如果提供了curl请求作为URL参数,这不会导致错误,给定名为‘timestamp’的列:

代码语言:javascript
复制
curl -F data=@weather.csv http://localhost:9000/imp?timestamp=timestamp

另一种选择是在SELECT操作期间,timestamp()函数可以动态指定一个。如果您使用curl导入,但没有设置指定的时间戳,则有两种选择:

  1. 修改查询以对要指定的列使用timestamp()

选择timestamp as time,avg(visMiles) AS average_visibility FROM (‘weather.csv’timestamp(timestamp)) WHERE $__timeFilter(timestamp) SAMPLE BY $__interval LIMIT 1000

  1. 创建一个新表,该表是原始数据集的副本,但在创建期间指定一个时间戳。使用ORDER BY是因为演示数据集具有无序的时间戳条目:

create table temp_table as (select * from‘order by timestamp) timestamp(timestamp);

使用temp_table,而不是查询原始数据集:

选择timestamp as time,avg(visMiles) AS average_visibility FROM temp_table WHERE $__timeFilter(timestamp) SAMPLE BY $__interval LIMIT 1000

如果您需要有关使用指定时间戳的更多信息,QuestDB concepts / timestamp docs页面提供了更多详细信息。

编辑:这个主题还有更多的资源,比如guide for Grafana with QuestDBGitHub repo with docker-compose

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65610034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档