數據服務(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks產品家族的一員,提供了快速將數據表生成API的能力,經過可視化的嚮導,一分鐘「零代碼」就能夠生成API,讓API開發從未有過如此便捷!同時支持自定義API查詢SQL功能,對您的個性化複雜查詢邏輯支持照樣不在話下。html
DataWorks數據服務提供HTTP API服務,採用Serverless架構,您只需關注API自己的查詢邏輯,無需關心運行環境等基礎設施,零運維成本。算法
DataWorks提供了涵蓋「數據集成-數據開發-機器學習-數據服務」全鏈路數據研發平臺,數據服務做爲鏈接數據應用與數據倉庫的橋樑,經過MaxCompute Lightning加速引擎,數據服務能夠直接將本來只能離線查詢的MaxCompute表直接生成數據API並進行實時查詢,免去了您手工同步數據的煩惱,數據服務是您將數倉建設成果服務化輸出的最佳工具。數據庫
目前,DataWorks數據服務已經與數據可視化的神器——DataV(https://data.aliyun.com/visual/datav)深度打通,數據服務生成的API,能夠直接在DataV中進行可視化展示。您無需手工同步數據,無需編寫複雜的Java代碼,無需搭建WebServer,普通數據開發工程師、算法開發工程師、數據分析師甚至是產品業務人員,均可以使用數據服務「開發」數據API,而後快速在DataV中調用API和展現來自MaxCompute的數據成果。數據服務爲您解決了從數倉開發和數據大屏展示之間的最後一千米。數組
本文將重點介紹數據服務與DataV聯合進行API開發和大屏展示的使用方法。安全
經過數據服務生成API主要包含建立數據源->配置API->發佈API三個步驟,本文將簡要介紹使用方法。架構
數據服務支持豐富的數據源類型,基本上常見數據源都囊括了,包含:
關係型數據庫:RDS/DRDS/MySQL/PostgreSQL/Oracle/SQL Server
分析型數據庫:AnalyticDB(ADS)
NoSQL數據庫:TableStore(OTS)/MongoDB
大數據存儲:Lightning(MaxCompute)less
在數據服務中的「服務開發」點擊新建按鈕,在下拉菜單中選擇「新建數據源」。運維
隨後將打開數據集成中的數據源頁面,在這裏能夠新建您須要訪問的數據源。機器學習
本文將以Lightning數據源爲例。經過Lighning數據源能夠直接實時查詢MaxCompute中的數據。函數
注意:Lightning目前是內測階段,須要單獨申請才能開通,申請地址:https://help.aliyun.com/document_detail/89747.html。
也能夠加入數據服務用戶羣(釘釘羣號21993540)諮詢Lightning服務的開通事項。
申請開通MaxCompute項目的Lightning服務後,就能夠進行數據源配置了。點擊「新建數據源」,選擇「Lightning」,按頁面提示進行配置,測試連通性測試經過後便可。您能夠點擊這裏(https://help.aliyun.com/document_detail/89757.html)查看Lightning的鏈接信息,如Lightning Endpoint、Port。
注意:JDBC擴展參數中的「sslmode=require&prepareThreshold=0」是必須的,不可刪除,不然會沒法鏈接。
建立好數據源後,回到數據服務產品頁面,咱們就能夠進行API的生成配置了,本文以嚮導模式生成API爲例。
點擊"服務開發"-「新建」-「生成API」-「嚮導模式」,以嚮導模式可視化配置的方式生成API。在彈出的對話框中填寫API基本信息,這裏以查詢成交金額增加趨勢API爲例,以下所示:
點擊確認後,進行API配置頁面。
首先進行表設置,依次選擇數據源類型-數據源名稱-數據表名稱。這裏選擇上一步建立的Lightning數據源,而後選擇你要查詢的MaxCompute表,這裏以成交金額表「demo_trade_amount」爲例,該表中存儲了一個月的成交金額數據。
選擇好表以後,會自動展現表的字段列表。而後勾選你要做爲API請求參數的字段和做爲返回參數的字段。在本例中,咱們爲了查詢成交金額趨勢,所以要返回全部數據,即將日期和成交金額都做爲返回參數,不設請求參數。
而後點擊右側的「返回參數」,設置參數描述信息。
注意:若是不設置請求參數,則須要開啓「返回結果分頁」開關,進行分頁查詢,以免單次查詢返回數據量過大影響性能。
最後進行API測試。點擊工具條右邊的「測試」,填寫API請求參數(因爲打開了分頁查詢開關,系統會自動添加兩個分頁參數),點擊「開始測試」便可,以下圖所示。
在測試頁面中能夠看到API延遲,能夠看到經過Lightning查詢MaxCompute表只花費了1秒多,比直接經過MaxCompute SQL查詢快了幾十上百倍!
到此,一個API就已經生成好了,是否是超簡單!
API測試經過後就能夠進行發佈。點擊工具條右方的「發佈」便可將API發佈。發佈後,能夠點擊項部導航條中的「服務管理」查看API詳情。若您要調用API,請查看「服務管理」-「API調用」頁面,數據服務提供了簡單身份認證(AppCode)和加密簽名身份認證(AppKey&AppSecret)兩種認證方式,您能夠自由選擇。下方將介紹在DataV中進行數據服務API的調用。
是否是有點小激動?「開發」一個API如來沒有過如此簡單!這簡直不能稱之爲「開發」!
接下來要進行DataV數據大屏的配置,主要分爲「添加數據」-「新建可視化」兩個步驟。
依次點擊「個人數據」-「添加數據」,在「類型」中選擇「DataWorks數據服務」,填寫數據源名稱,而後選擇您的DataWorks項目(工做空間)。DataV對接數據服務採用的是更加安全的加密簽名身份認證,所以這裏須要填寫AppKey和AppSecret。
AppKey和AppSecret從數據服務的「服務管理」-「API調用」頁面中查看,以下所示:
添加好數據服務數據源後,就能夠在大屏中進行數據展現了。
在「個人可視化」中點擊「新建可視化」,本文選擇了「智能工廠」模板,以下所示:
模板中的組件自帶了靜態數據,下面將經過將模板中間的「基本折線圖」改成調用上面建立好的「查詢成交金額增加趨勢」的API爲例,講解如何在組件中使用數據服務API。
選中基本折線圖組件,切換到數據面板,在「數據源類型」中選擇「DataWorks數據服務」,而後選擇剛剛建立的數據源「個人數據服務」,選擇「查詢成交金額增加趨勢」這個API,再設置查詢參數,這裏將pageSize設置爲「31」以查詢一個月的數據。
點擊「查看數據響應結果」能夠看到API的查詢結果。
而後填寫字段映射關係,在「x」中填寫「date」將日期做爲橫軸,在「y」中填寫「amount」將成交金額做爲縱軸。
能夠看到,當前x和y沒法匹配到字段。這是因爲DataV對數據格式有必定要求,不能識別結構較深的字段,所以這裏要添加一個數據過濾器,過濾掉沒必要要的字段,在本例中直接返回「rows」數組便可。
勾選「使用過濾器」,點擊「新建過濾器」,這裏支持編寫JS代碼對數據結果進行二次過濾和處理,過濾器的data參數爲API返回結果JSON對象。在本例中,咱們只須要返回API結果中的rows數組,故只須要輸入代碼 "return data.data.rows;" 便可,而後在下方就能夠查看過濾後的結果,點擊「完成」便可。
添加好過濾器後就能夠看到此時字段已經能夠匹配成功了。
但此時折線圖並無正確展現,因爲API返回的日期格式與組件默認的格式不同,所以咱們還須要設置一下折線橫軸的日期格式。切換到「配置」面板,在「x軸」-「軸標籤」中選擇數據種類爲「時間型」,數據格式選擇本API所返回的格式「2016/01/01」,便可看見折線圖已經能夠正常展現了。
最後預覽一下,看當作品。
至此,咱們就完成了經過數據服務將MaxCompute表生成API,而後在DataV數據大屏中進行展現的全部步驟。採用相似的步驟,將大屏的其餘組件的數據源都配置爲DataWorks數據服務API就能夠完成整個大屏的創做,是否是感受很easy!
DataWorks數據服務與DataV進行無縫打通後,則不須要使用DataV中的"API"數據源去填寫一個URL調用API,直接新建一個DataWorks數據服務做爲數據源,就能夠直接選用數據服務中的API,無需每一個API都設置AppKey和AppSecret認證信息,而且支持經過表單填寫API參數,使用起來十分快捷方便和安全可靠。經過數據服務,您能夠將MaxCompute中加工好的數據結果,直接在DataV中進行呈現,「數據開發-數據服務-數據分析展示」一鼓作氣!
最後,提供一些小貼士及注意事項,供你們參考:
原文連接本文爲雲棲社區原創內容,未經容許不得轉載。