如何修复可与 elasticsearch 配合使用以处理 clickhouse 数据源的 grafana 插件

问题描述

我是 Grafana 的新手,我制作了一些与 Elasticsearch 配合良好的国家地图插件,但是如果我切换到 ClickHouse 数据源,我会收到红色错误。所以我认为改变一种数据获取方式或许可以解决一个问题。它是用 JavaScript 编写的源代码。但是我不知道 Elasticsearch 和 Clickhouse 的数据提取间的区别。我试图弄清楚如何制作它(只更改代码的某些部分),欢迎提出任何建议!

我怀疑在 CH 中返回的数据不同,因为我读到 CH 是列存储的 DB,而 ES 是行存储的 DB。以下是可能会更改并适应 CH 的代码

 onDataReceived(dataList) {
    if (dataList && dataList[0] && dataList[0].columns.length != 0) {
            this.countryData = {};
            var datapoints = dataList[0].columns;
            for (var i = 0; i < datapoints.length; i++) {
                var country = datapoints[0][i];
                var value = datapoints[i][datapoints[i].length - 1];
                this.countryData[country] = value;
            }
        } else {
            this.countryData = {};
        } 
        this.createMap();                         
    }

这里有错误 dataList[0].rows 未定义,如果我尝试去查询检查器,我会得到图片 2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)