可视化神器背后的奥秘
本文由百度智能云資深研發工程師——張軍在百度開發者沙龍線上分享的演講內容整理而成。本次分享將介紹BI分析背后的技術架構與流程,及可視化圖表的智能推薦策略,幫助大家深入理解智能化可視化BI的技術與實踐。
文:張軍
視頻回放:https://developer.baidu.com/live.html?id=13
本次分享的主題是:智能化可視化BI與大屏揭秘。內容主要分為以下4個方面:
- 產品介紹
- 可視化分析技術
- 智能圖表推薦
- 智能語音交互
01初識Sugar BI
百度大數據體系產品架構全景圖
百度智能云大數據產品架構全景圖共三層:
底層通過湖倉數據基礎設施(包括湖倉引擎和治理開發)為企業提供數據存儲、數據處理、數據開發等能力;
中層的數據價值挖掘平臺,充分利用百度智能大數據技術,實現企業數據資產價值最大化;
頂層:即基于底層和中層的技術,幫助各行各業落地大數據應用落地。
Sugar BI作為數據價值挖掘平臺之一,
它是作為數據與用戶最直接接觸的一個連接。
快速搭建專業化BI分析平臺
設計目標:讓用戶在5分鐘之內就能搭建專業的場景化的BI分析平臺
搭建流程:添加數據源→創建數據模型→可視化效果制作(包括報表制作&大屏制作)
這樣簡單的步驟讓用戶非常容易就能搭建一個可視化平臺。在這個過程中利用了百度可視化開源組件Apach Echarts,通過拖拽圖表組件及數據字段的方式,在5分鐘之內就可以搭建數據可視化頁面并進行復雜的數據分析操作。
對接多種數據源
在數據源層面,Sugar BI可以對接的數據源包括:
- 開放性的數據庫:MySQL、SQL Sever、 PostgreSQL、Oracle等。
- 大數據的數據源:國產麒麟(Kylin)等。
- 其他場景中經常會用到的大數據的組件:Hive、Spark、Impala、Presto等。
該平臺還可以支持Excel/Csv數據的上傳,同時還支持對接已有的API并且允許用戶靜態的輸入Json代碼來做效果展示。最后還開發內網隧道的功能,可以讓內網中數據源的數據通過內網隧道的方式直接對接到云上Sugar的產品中。對于不同的數據源,比如MySQL和SQLserver,還支持兩種數據源的跨源交叉分析。
零代碼+拖拽式制作報表
- 在產品報表的主編輯頁面,所有的組件都是拖拽式的。
- 使用拖拽字段的方式進行數據綁定、全界面化的添加和修改圖表組件,簡單易用。
- 豐富的圖表配置項,可以讓用戶零門檻上手。
- 移動端報表布局自動適配,可以讓用戶隨時隨地多端查看SugarBI產品。
- 幫助真正懂業務的人完成分析。
大屏展示
在大屏頁面中通過內置數十種大屏模板,Sugar將百度內部專業的UE/UI設計資源賦能給客戶,模板包括政務、教育、零售、金融、制造等各行業,整套設計涵蓋移動端與PC端。客戶只需簡單修改,即可使用。
02可視化技術分析
Sugar BI架構——有AI特色的可視化+BI分析平臺
SugarBI在設計的定位是做一個有AI特色的可視化分析平臺。其中主要突出的三個特點分別是AI、BI和可視化。SugarBI的整體架構圖都是圍繞這三大特點來構建的,它將AI、BI、可視化這樣的三個能力進行融合,最終使用容器化的技術進行打包和部署。
BI能力:數據模型+靈活交互+數據計算
BI能力方面,Sugar支持對接豐富的數據源種類,包括excel、各種關系型數據庫mysql、oracle等、以及大數據數倉Doris、clickhouse等,一共超過30種數據源,目前在國內是最全,并且支持了 達夢、人大金倉、南大通用、華為GaussDB等國產數據庫
數據模型:可以單表、多表join,支持視圖以及用戶自定義的SQL視圖,并能夠對字段進行自動的維度和度量的劃分。
BI引擎:以在數據模型的技術上去解析用戶的交互、進行過濾條件和數據篩選,最終生成能夠在數據庫上運行的查詢語句,包括支持數據的篩選,下鉆,聯動,還可以支持和URL的參數來做聯動。
計算引擎:包括表計算,交叉計算、數據格式化,并且在數據層面也能做監控預警和留存分析這樣的一些比較深層次的計算。
數據模型
市面上其他數據可視化的平臺的缺點是需要用戶去寫SQL語句,然后將SQL語句查詢的結果綁定到圖標上,這對非技術的人員非常不友好,因為需要用戶懂SQL語句的書寫,而且在開發的過程中需要反復的修改SQL語句,這樣會導致效率降低。
而在Suger BI產品中,借鑒了BI的做法,將BI與可視化大屏的進行融合。用戶是可以選擇寫SQL語句,也可以通過數據建模將數據通過拖拽的方式綁定到可視化圖表上,所以Sugar產品的定位就是一個產品滿足兩個產品的需求。
總結起來,Sugar數據模型有以下的優勢:
- 可以做到用戶不需要寫任何的SQL語句。
- 可以根據不同的數據源抹平其中不同數據庫之間SQL語句的差異。
- 可以在獲取數據表字段的時候會自動形成維度和度量的差別,還會自動取識別地理字段。維度和度量的識別策略是根據字段的數據類型,而地理字段是根據字段的名稱和數據內容來區分。并且在過程中可以支持手動去調整,可以將度量轉化為維度,也可以將維度轉化為度量。
- 可以對度量進行常規的聚合操作,其中包括Sum,Average,Max,Min,等。
講師在分享過程中,以“銷售訂單數據的展示“為例,演示了建立數據模型、數據可視化等操作。詳細步驟可通過:https://developer.baidu.com/live.html?id=13 回顧。
數據雪花模型
在Sugar中多表的Join使用的是雪花模型,可以自動的根據字段來選擇Join的方式。使用最近共同祖先尋找法來解決查詢的字段來自多個不同表的問題。
數據篩選
- 滿足超復雜場景的Where篩選
在復雜場景下做SQL的Where篩選,就是要對數據進行過濾,對于右邊非常復雜的Where篩選,Sugar設計了左邊的功能能夠滿足用戶非常復雜的交互場景。
- 聚合查詢后的Having篩選
Sugar還支持聚合查詢后的Having篩選,例如場景是查詢年度總銷售額大于13萬的城市,對應到SQL語句的Having場景,是對數據聚合后再做一個篩選。
過濾組件
交互式的數據篩選其中分為頁面整體的過濾組件和單個圖表的過濾組件。
SQL查詢層面的數據計算
特點:最終都轉化為SQL語句,在數據庫層面進行計算。具體可做的計算操作包括:
- 數據格式轉換
- 日期時間的聚合計算
- 計算字段
- 分桶分組
二次計算
二次計算是指在SQL查詢結果后的再次計算,該計算發生在內存中。具體包括:
- 數據值映射
- 交叉透視表
- 合計、均值
- 表計算、快速表計算
性能優化
Sugar在性能優化方面做了如下嘗試:
- 數據緩存:可以利用Redis,確保同一個SQL只執行一次。
- 針對不同數據源的特殊優化,如Clickhouse的留存計算Retention
- 異步多線程的表計算
03智能圖表推薦
智能圖表目的
- 根據數據自動推薦最適合的圖表類型
- 圖表類型的切換
- 作為智能語音交互的基礎
智能圖表流程
智能圖表首先是對系統內部100多種的圖表進行抽象,從圖表中提取特征。然后在圖表推薦模塊將圖表的特征與當前用戶輸入的特征做一個匹配,之后推薦的圖表有一個列表,并對列表中對每一個圖表進行打分,最后進行排名將得分最高的圖表推薦給用戶。
推薦策略
圖表推薦策略設計,是針對每一個圖標設計的,有兩個規則:
第一個強制規則,是必須要滿足的
第二個是可選規則,是有這個規則就可以加分。
推薦策略是硬性條件和加分條件的組合,強制規則之間做乘法,可選規則之間做加法,然后在每一個規則里面都會設計相應的權重。
規則設計
強制規則只有一個,就是為了確保用戶需要分析的每個字段都能在被推薦的圖表中有所體現。
可選規則針對不同的圖表就會不一樣,它描述的是:
- 計算輸入字段特征和圖表特征對字段需求的相似程度
- 和日期字段有關的規則
- 和度量單位有關的規則
04智能語音交互
Sugar BI就是要成為可視化BI分析界的智能助理的角色,可以在智能圖表的基礎上做智能的語音交互。
講師在分享過程中,演示了報表中的智能問答交互演示,可通過:https://developer.baidu.com/live.html?id=13 回顧。
語音問答整體方案
問答模型基于數據模型實現的。數據模型中的同義詞、推薦問題、維度數據、Schema結構可以送入問答模型,緊接著問答模型就會做NLU(自然語言理解)將數據模型理解透徹。
在用戶問答的模型中包括兩種方式:
第一種是可以通過直接的文字輸入方式;
第二種是可以通過大屏或移動端的語音輸入然后轉換為文字。最終問答模型里面是一個文字理解的過程。
問答模型最終的輸出結果,會將問題自動理解為要查詢數據模型的哪些字段并且要做一些什么樣的數據篩選比如:排序、聚合運算,最后通過Sugar智能圖表的轉換過程最終呈現一個可視化的結果。
05下一步計劃及BI未來方向
BI分析的趨勢
下一步計劃聚焦在智能化分析的過程上,主要可以分為以下四個種類的分析:
- 自動分析:可以根據數據模型,用戶只給定一些維度和度量,就可以自動生成可視化的報表或者大屏頁面,然后頁面中會自動的生成圖表,也會自動添加一些過濾組件,最后用戶可以在這個效果的基礎上做一些可視化的修改。
- 歸因分析:指某一指標發生的較大的變動的時,能夠幫用戶自動找到是哪些維度引起的,每個維度的分別影響的貢獻度是多少,都可以通過歸因分析來進行量化。
- 異常分析:指的是數據發生劇烈變化時需要找到原因,后續會和歸因分析一起進行。異常分析一般都是系統主動分析然后自動地將異常報出來,所以會結合數據預警,出現異常的時候就主動給用戶發預警。
- 預測分析:指的是在歷史數據的基礎上,利用機器學習、AI算法等一些策略,對后續的數據走勢做出一定的預測,相當于是一種對未來數據的分析。這樣Sugar就能更好的幫助用戶總結過去,并且還要展望未來,為用戶的決策做更好的數據支撐。
有了AI分析和智能化的交互,百度認為傳統BI的發展趨勢就是“AI+BI”的能力融合!
以上是老師的全部分享內容,有問題歡迎在評論區提出。
往期推薦
6000字,詳解數據倉庫明星產品背后的技術奧秘
掃描二維碼,備注:大數據開發,立即加入大數據產品&技術交流群。
總結
以上是生活随笔為你收集整理的可视化神器背后的奥秘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打响汽车信息安全战,百度Apollo构建
- 下一篇: 3个步骤,4大平台,完成大规模数据处理