乾貨丨如何使用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
相關文章
相關標籤/搜索