简介 #
SmartChart 支持将 Redis 作为数据源,通过 key 名称直接从 Redis 读取数据。这种方式特别适合展示由外部系统(如 Spark、爬虫)实时计算并写入 Redis 的指标数据,实现真正的实时可视化。数据格式支持 JSON 对象(字典)和 JSON 二维数组(表格)。
应用场景 #
你可能会有这样的一些需求, 展示数据是要通过外部的程序计算好,如一些实时的计算场景,用spark计算好的数据 或爬虫爬取的数据, 然后写入redis或nosql的数据库,最后由前端图形直接展示或数据下载,SmartChart支持这一块的应用
使用方法 #
你可以创建一个redis的连接池, 然后按照通用的方法建立数据集 不同的是, 数据集的SQL区不再是写sql代码, 而只需要写redis中的keyname
如redis中存储的数据是keyname 为 “指标A”, 数据 ‘{“长沙”:1,“上海”:2}’ 这样我们只需要在数据集中写上
指标A
即可, 最后你会得到{“长沙”:1,“上海”:2}的返回结果
如果你需要的是表格格式, 那么你只需要往redis中存入一个二维数组, 比如: [[“省份”,“数量”],[“长沙”,1],[“上海”,2]]
注意数据存入redis为字符串格式,你可使用python的json.dumps来生成字符串格式存入
当然我们也支持同一个数据中获取多个keyname #
比如还有一个"指标B", 数据是'12345' 我们可以同时写上两个指标,用分号隔开:
指标A;指标B
最后你会得到的结果是: { “指标A”:{“长沙”:1,“上海”:2}, “指标B”:12345 }
Redis 数据格式说明 #
| 存储格式 | 示例 | 图形端获取方式 |
|---|---|---|
| JSON 字典 | '{"长沙":1,"上海":2}' |
let dataset = __dataset__; 直接使用 |
| JSON 二维数组(表格) | '[["省份","数量"],["长沙",1]]' |
标准 SmartChart 二维数组格式 |
| 多个 key(分号分隔) | 指标A;指标B |
返回字典 {指标A: ..., 指标B: ...} |
注意:写入 Redis 时数据必须是字符串格式,Python 中用
json.dumps(data)转换后再存入。