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