Redash连接DolphinDB数据源

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

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

1. 使用JSON数据源连接DolphinDB

Redash目前只有在线版本(SAAS)中支持JSON,因此使用在线版本的用户可以选择这种连接方式。这种方式需要DolphinDB能够外网访问。要使用Redash版本,需要在Redash官网注册并登录。

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

(1)建立新的数据源

v2-1839ed5b7ea4f2508b157b0c8a7ac64e_720w.jpg

(2)选择JSON数据源

v2-d501c788616b21ddf27933f9882f656b_720w.jpg

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

v2-496f8b84bd6e9d8dead7d889aeb2fa10_720w.jpg

(4)点击Create按钮,创建一个Query

v2-e7f537b499b983d4ba09a31e628d38f0_720w.jpg

JSON数据源需要使用yaml格式编辑。

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

  • 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类型数据源,如下图:

v2-609ebbbc333203e51f4730dc82a9335c_720w.jpg

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

v2-0962695df057581eaf93af8d03b472c7_720w.jpg

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

  • 子路径必须为/json。
  • query参数必须包含 : client和queries两个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%2

0 条评论

请先 登录 后评论
Junxi
Junxi

73 篇文章

作家榜 »

  1. Junxi 73 文章
  2. wfHuang 6 文章
  3. liang.lin 5 文章
  4. mhxiang 4 文章
  5. admin 3 文章
  6. alex 2 文章
  7. 柏木 1 文章
  8. 丘坤威 1 文章