1. 程式人生 > >15分鐘構建超低成本數據大屏:DataV + DLA

15分鐘構建超低成本數據大屏:DataV + DLA

group -c 請求 大數 bsp 增量 ram 第一步 關註

第一步:準備低成本存儲的業務數據和DLA表

  • OSS(https://www.aliyun.com/product/oss)是雲上低成本數據存儲的優選方案
  • DLA(https://www.aliyun.com/product/datalakeanalytics)是雲上低成本、無服務器化的支持OSS數據查詢、分析的優選方案

參考如下文檔使用案例,準備OSS上存儲的業務數據和DLA表:
https://yq.aliyun.com/articles/623282

此步驟預計耗時:5分鐘。

第二步:使用DataV訪問DLA制作數據大屏

  • DataV(https://data.aliyun.com/visual/datav)是雲上大數據可視化大屏的優選方案

1. 準備DataV

以第一步中的業務數據為例,構建企業銷售數據大屏,本大屏主要涉及三張表:

  • orders表,銷售訂單數據;
  • customer表,客戶記錄數據;
  • nation表,國家記錄數據;

登錄控制臺DataV控制臺:http://datav.aliyun.com/data,購買基礎版:

技術分享圖片

使用“兼容MySQL”的方式,就能連接DLA服務,本例中基礎版就能滿足。

2. 準備DLA數據源

點擊 “我的數據”,“添加數據”

技術分享圖片

編輯數據源:

  • 選擇“兼容MySQL數據庫”類型;
  • 名稱按需進行命名;
  • 根據在DLA控制臺https://datalakeanalytics.console.aliyun.com/overview上的鏈接信息(經典網絡)和在阿裏雲站內信收到用戶名、密碼信息,填入相應欄目,選擇目標的tpch數據庫,確定保存。
技術分享圖片

3. 準備大屏模板

點擊 “我的可視化”,“新建可視化”

技術分享圖片

選擇“銷售實時監控模板”,點“創建”

技術分享圖片

本示例大屏中,目標顯示各個國家的銷售數據情況,把下面標紅的框內的組件刪除。

技術分享圖片

然後為了布局,美觀,重新調整一個組件在畫布上的位置。

技術分享圖片

為了顯示各個國家的銷售數據情況,需要世界地圖,刪除現有的中國地圖組件,然後在導航欄的“地圖”中選擇“3D平面世界地圖”。

技術分享圖片

4. 給大屏中的組件配置數據

4.1 給地圖配置數據

根據如下操作,給地圖render數據:

  • 選擇地圖,在數據tab頁面中,“數據源類型數據庫選擇已有數據源我的數據**”中配置的DLA數據源;
  • 在SQL中,填入如下SQL,計算按國家銷售額排序的數據;
select sum(o_totalprice) total_price, n_nationkey, n_name, n_id
from orders 
join customer on o_custkey = c_custkey 
join nation on c_nationkey = n_nationkey 
group by n_nationkey, n_name, n_id 
order by total_price desc;
  • 字段id和value,分別填入上述SQL返回的n_id列和total_price列;
  • 根據業務數據更新需求(見附一:架構示意),選擇大屏數據“自動更新請求”,比如60秒一次;
  • 然後點擊“刷新數據”。
技術分享圖片

4.2 給總銷售額配置數據

根據如下操作,給總銷售額配置數據:

  • 選擇銷售總額組件,在數據tab頁面中,“數據源類型數據庫選擇已有數據源我的數據**”中配置的DLA數據源;
  • 在SQL中,填入如下SQL,計算銷售總額的數據;
select sum(o_totalprice) total_price
from orders;
  • 字段value,填入上述SQL返回的total_price列;
  • 根據業務數據更新需求(見附一:架構示意),選擇大屏數據“自動更新請求”,比如60秒一次;
  • 然後點擊“刷新數據”。
技術分享圖片

4.3 給按國家銷售排名配置數據

根據如下操作,給總銷售額配置數據:

  • 選擇銷售額國家排名組件,在數據tab頁面中,“數據源類型數據庫選擇已有數據源我的數據**”中配置的DLA數據源;
  • 在SQL中,填入如下SQL,計算按國家銷售額排序的數據;
select sum(o_totalprice) total_price, n_nationkey, n_name 
from orders 
join customer on o_custkey = c_custkey 
join nation on c_nationkey = n_nationkey 
group by n_nationkey, n_name 
order by total_price desc;
  • 字段value和content,填入上述SQL返回的total_price列和n_name列;
  • 根據業務數據更新需求(見附一:架構示意),選擇大屏數據“自動更新請求”,比如60秒一次;
  • 然後點擊“刷新數據”。
技術分享圖片

5. 預覽和發布大屏

點擊右上角的“預覽”,可以看到大屏發布後的效果。

技術分享圖片

確認無誤後,可以進行發布:

技術分享圖片

此步驟預計耗時:10分鐘。

附:架構示意

和使用傳統數據庫加DataV構建大屏相比,DataV + DLA + OSS的方案是另外一種低成本選擇,在絕大部分頻率較低的數據刷新的業務大屏場景下,DataV + DLA + OSS的方式遠比DataV + 傳統數據庫的成本低。結合業務數據的產生,整體架構示意如下:

可能的業務數據產出的大屏數據刷新鏈路:

  • 業務應用程序產出的增量數據,直接上傳到OSS中,通過定時查詢,刷新到業務數據大屏中;
  • 業務應用程序產出的業務日誌,采集到日誌服務中,通過定時日誌投遞(最小5分鐘延遲),投遞到OSS中,再通過定時查詢,刷新到業務數據大屏中。
技術分享圖片

原文鏈接
更多技術幹貨 請關註阿裏雲雲棲社區微信號 :yunqiinsight

15分鐘構建超低成本數據大屏:DataV + DLA