干货丨如何使用Redash链接DolphinDB数据源

Redash是一款开源的BI工具,提供了基于Web的数据库查询和可视化功能。DolphinDB支持经过https协议的POST和GET接口获取数据,能够使用Redash中的JSON和URL两种数据源来链接DolphinDB database。sql

1. 使用JSON数据源链接DolphinDB

Redash目前只有在线版本(SAAS)中支持JSON,所以使用在线版本的用户能够选择这种链接方式。这种方式须要DolphinDB可以外网访问。要使用Redash版本,须要在Redash官网注册并登陆。数据库

登陆后,在首页建立数据源,按照下面步骤进行配置:json

(1)创建新的数据源app

f3b02b405cb11784e520c938a796284e.jpeg

(2)选择JSON数据源编辑器

1dd84478a03a5603a0be50803bee044b.png

(3)在Name中配置数据源名称,并保存分布式

b3b0a5d3509bade38046f2b74dcc92e7.png

(4)点击Create按钮,建立一个Queryide

2eaa6fea9366fd89abc00bbae9f60f77.png

JSON数据源须要使用yaml格式编辑。工具

query中须要包含三种基本的元素:url, method和json。post

  • url:接受数据的地址,即DolphinDB数据节点,如http://host:port
  • method:http提交方式,JSON接口必须使用POST方式
  • json:提交的JSON数据,DolphinDB接口须要提供固定的key值client和queries,如:{client:"redash","queries":"[sql query]"},用户能够使用任意的sql语句来替换[sql query]部分。

完整的query示例以下:编码

 url: http://115.239.209.226:18531
 method: "post"
 json: {'client':'redash','queries':'select * from typeTable'}

2. 使用URL数据源链接DolphinDB

redash的url数据源不只在线版本支持,在开源独立部署的版本上也能够支持。所以,使用独立部署的用户能够经过这种方式来链接DolphinDB。

链接和配置数据源的方式与JSON方式基本相同,在数据源选择时选择URL类型数据源,以下图:

f897de1369b9006ca6c44dd82bf54b88.png

在URL中配置数据源名称和路径,URL base path是获取数据的跟地址,配置成DolphinDB的数据节点的地址便可,格式为http://host:port。

76c14cc3c1b4b02b3fc2880da481ecaf.png

建立一个new query,在编辑区以URL参数字符串的形式输入查询内容,查询内容格式上有以下要求:

  • 子路径必须为/json。
  • query参数必须包含 : clientqueries两个key,其中client指定固定值为redash

完整的query示例以下:

/json?client=redash&queries=select * from typeTable where id between (1..10)

注意:

因为redash对url方式的参数要进行编码校验,因此一些特殊字符须要手工作url编码才能经过校验,好比query中出现://,+,&这些字符,须要替换为%3a%2f%2f,%2b,%26才能经过校验。举个例子,DolphinDB中的分布式数据库路径dfs://dbpath,须要用url编码替换为dfs%3a%2f%2fdbpath才能经过redash的校验。

须要提交的query:

/json?client=redash&queries=login('admin','123456');select avg(ofr-bid) from loadTable('dfs://TAQ','quotes') group by minute(time) as minute

实际写到redash的编辑器中的内容为:

/json?client=redash&queries=login('admin','123456');select avg(ofr-bid) from loadTable('dfs%3a%2f%2fTAQ','q
相关文章
相关标签/搜索