问答 查看内容
返回列表

如何查询数据集中保存的自定义 SQL 内容?

84 1
发表于 3 天前 | 查看全部 阅读模式
在排查数据集配置或确认数据集来源逻辑时,需要获取数据集中保存的 SQL 内容。例如数据集使用了自定义 SQL 查询,希望从元数据库中查询出对应的 SQL 文本,便于核对数据集实际执行逻辑。

这种场景下应该如何获取元数据库访问账号,并通过 SQL 查询出数据集配置中的 SQL 内容?

评论1

观小程楼主Lv.1 发表于 3 天前 | 查看全部
可以通过元数据库只读账号查询数据集配置中的 SQL 内容。

先获取元数据库只读账号。进入 GuanOps 运维服务平台后,打开「只读账号」页面,点击「获取只读账号」。官方文档说明见:
https://docs.guandata.com/product/bi/guanops?_highlight=guanops

获取账号后,连接元数据库,查询数据集配置表中的 config 字段。数据集的自定义 SQL 通常保存在 config JSON 里的 tableQuery.query 路径下,可以使用类似 SQL 查询:

```sql
SELECT
  id,
  name,
  REPLACE(config ->> '$.tableQuery.query', '\\n', ' ') AS query_sql
FROM 你的表名
WHERE config ->> '$.tableQuery.query' IS NOT NULL;
```

如果实际查询结果中是普通换行符,可以使用:

```sql
SELECT
  id,
  name,
  REPLACE(config ->> '$.tableQuery.query', '\n', ' ') AS query_sql
FROM 你的表名
WHERE config ->> '$.tableQuery.query' IS NOT NULL;
```

其中 query_sql 就是数据集中保存的 SQL 内容。实际使用时把「你的表名」替换成当前环境中存储数据集配置的元数据库表名即可。

注意:元数据库只读账号只建议用于分析和诊断,不要执行写操作;查询时也要避免高频、并发或复杂查询,防止影响系统稳定性。

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表