本文從大數據本身的特點及其應用需求出發(fā),結合數據可視化的研究現(xiàn)狀,介紹了適用于大數據的數據可視化技術;分析在大數據條件下數據可視化所要解決的8個關鍵問題;討論了針對大數據可視化應用需求自主研發(fā)的交互式可視化設計平臺AutoVis及其應用。
圖靈獎獲得者JimGray曾說,數據密集型科學發(fā)現(xiàn)是繼實驗歸納、邏輯推演、仿真模擬之后的第4類科學方法,作為前3種科學范式的補充,這種方法進一步促進人類科技的進步。
數據推動著諸多科學領域與各行各業(yè)發(fā)展的同時,也帶來了前所未有的挑戰(zhàn)。有效地理解數據,避免“big data”成為“big rubbish”,需要開發(fā)更好的工具以支持整個研究過程,包括數據捕捉、數據治理、數據分析以及數據可視化。
在大數據時代,數據可視化技術在廣泛應用的同時,也面臨諸多新的挑戰(zhàn)。大數據可視化是一個面向應用的研究領域,本文重點從應用實踐的角度,討論在大數據背景下大數據可視化內涵、研究進展、相關技術與產品以及所面臨的一系列挑戰(zhàn)。
大數據可視化內涵
數據可視化就是將抽象的“數據”以可見的形式表現(xiàn)出來,幫助人理解數據。大數據可視化相對傳統(tǒng)的數據可視化,處理的數據對象有了本質不同,在已有的小規(guī)?;蜻m度規(guī)模的結構化數據基礎上,大數據可視化需要有效處理大規(guī)模、多類型、快速更新類型的數據。這給數據可視化研究與應用帶來一系列新的挑戰(zhàn)。
數據可視化這一概念自1987年正式提出,經過30余年的發(fā)展,逐漸形成3個分支:科學計算可視化(scientific visualization)、信息可視化(information visualization)和可視分析(visual analytics)。近些年來,這3個子領域出現(xiàn)了逐漸融合的趨勢。本文統(tǒng)稱為“數據可視化”。
在傳統(tǒng)數據可視化基礎上,論文嘗試給出大數據可視化的內涵:大數據可視化是指有效處理大規(guī)模、多類型和快速變化數據的圖形化交互式探索與顯示技術。
其中,有效是指在合理時間和空間開銷范圍內;大規(guī)模、多類型和快速變化是所處理數據的主要特點;圖形化交互式探索是指支持通過圖形化的手段交互式分析數據;顯示技術是指對數據的直觀展示。
大數據可視化技術
首先從方法層面介紹基本滿足常用數據可視化需求的通用技術,根據可視化目標分類介紹,然后根據大數據的特點,重點介紹相關的大規(guī)模數據可視化、時序數據可視化、面向可視化的數據采樣方法和數據可視化生成技術。
常用的數據可視化技術
數據可視化技術在應用過程中,多數非技術驅動,而是目標驅動。如圖顯示了目前業(yè)界廣泛使用的根據目標分類的數據可視化方法,數據可視化目標抽象為對比、分布、組成以及關系。
按目標分類的常用數據可視化方法
1)對比。比較不同元素之間或不同時刻之間的值。
2)分布。查看數據分布特征,是數據可視化最為常用的場景之一。
3)組成。查看數據靜態(tài)或動態(tài)組成。
4)關系。查看變量之間的相關性,這常常用于結合統(tǒng)計學相關性分析方法,通過視覺結合使用者專業(yè)知識與場景需求判斷多個因素之間的影響關系。
大規(guī)模數據可視化
大規(guī)模數據可視化一般認為是處理數據規(guī)模達到TB或PB級別的數據。經過數十年的發(fā)展,大規(guī)模數據可視化經過了大量研究,重點介紹其中的并行可視化和原位(in situ)可視化。
(1)并行可視化
并行可視化通常包括3種并行處理模式,分別是任務并行、流水線并行、數據并行。
任務并行將可視化過程分為獨立的子任務,同時運行的子任務之間不存在數據依賴。
流水線并行采用流式讀取數據片段,將可視化過程分為多個階段,計算機并行執(zhí)行各個階段加速處理過程。
數據并行是一種“單程序多數據”方式,將數據劃分為多個子集,然后以子集為粒度并行執(zhí)行程序處理不同的數據子集。
(2)原位可視化
數值模擬過程中生成可視化,用于緩解大規(guī)模數值模擬輸出瓶頸。根據輸出不同,原位可視化分為圖像、分布、壓縮與特征。
●輸出為圖像的原位可視化,在數值模擬過程中,將數據映射為可視化,并保存為圖像。
●輸出為分布數據的原位可視化,根據使用者定義的統(tǒng)計指標,在數值模擬過程中計算統(tǒng)計指標并保存,后續(xù)進行統(tǒng)計數據可視化;
●輸出為壓縮數據的原位可視化采用壓縮算法降低數值模擬數據輸出規(guī)模,將壓縮數據作為后續(xù)可視化處理的輸入;
●輸出為特征的原位可視化采用特征提取方法,在數值模擬過程中提取特征并保存,將特征數據作為后續(xù)可視化處理的輸入。
時序數據可視化
時序數據可視化是幫助人類通過數據的視角觀察過去,預測未來,例如建立預測模型,進行預測性分析和用戶行為分析。
面積圖可顯示某時間段內量化數值的變化和發(fā)展,最常用來顯示趨勢。氣泡圖可以將其中一條軸的變量設置為時間,或者把數據變量隨時間的變化制成動畫來顯示。蠟燭圖通常用作交易工具。
甘特圖通常用作項目管理的組織工具,熱圖通過色彩變化來顯示數據,直方圖適合用來顯示在連續(xù)間隔或特定時間段內的數據分布。
折線圖用于在連續(xù)間隔或時間跨度上顯示定量數值,最常用來顯示趨勢和關系。南丁格爾玫瑰圖繪制于極坐標系之上,適用于周期性時序數據。OHLC圖通常用作交易工具。
螺旋圖沿阿基米德螺旋線繪制基于時間的數據。堆疊式面積圖的原理與簡單面積圖相同,但它能同時顯示多個數據系列。量化波形圖可顯示不同類別的數據隨著時間的變化。
另外,具有空間位置信息的時序數據,常常將上述可視化方法地圖結合,例如軌跡圖。
面向可視化的數據采樣方法
面向可視化的時序數據采樣,主要針對時序數據的折線圖視覺效果進行優(yōu)化。此類研究的主要目標為,從時序數據中選擇小部分時序數據,利用折線圖上的點與連線的視覺效果,使得選取數據的折線圖視覺效果與原始數據的可視化結果盡可能接近。
Steinarsson總結了一些基于折線圖的時序數據采樣算法,認為折線圖中的每個數據點都存在各自的視覺權重。Kehagias提出了M4aggregation時序數據采樣算法。Guo等總結了4種針對空間數據的可視化約束:代表性約束、可視性約束、平移一致性與縮放一致性,并基于可視化約束提出了貪心策略采樣算法。
數據可視化生成方式
經過數十年的發(fā)展,數據可視化形成了從底層編程到上層交互式定制的多層次生成方式。
數據可視化生產方式
編程方式根據語言類型可以分為函數式編程與聲明式編程。函數式編程可以根據圖表元素封裝層級分為更基礎的圖形編程接口,聲明式編程出現(xiàn)時間相對較晚,其中采用圖形語法思想的可視化語法。
交互式數據可視化生成方式通過交互接口,使得用戶不用編程即可定制可視化圖表。其中,Polaris與Tableau采用數據列拖選方式交互生成可視化圖表;Voyager和Data2Vis則提供了根據數據自動生成可視化圖表的能力;Lyra和Data Illustrator則提供了一種類似于Visio的交互方式,從圖表元素拼裝圖表的能力。VisFlow在提供多個可視化模板的基礎上采用數據流的思想,將可視化圖表作為數據處理流的中間步驟,通過可視化的方式進行數據處理。
整體而言,編程方式的優(yōu)點在于豐富的表現(xiàn)能力與個性化定制能力,缺點是缺乏直觀性,要求使用者具有編程能力,且相對需要更多的人力與時間成本;相對而言,交互方式的優(yōu)點在于直觀,用戶無需編程即可定制圖表,使用更為廣泛,缺點是表達能力有限,系統(tǒng)功能和性能常常無法滿足使用者個性化需求。
大數據可視化產品
本節(jié)重點介紹介紹相關的大數據可視化產品,包括適用于一定大數據場景的傳統(tǒng)數據可視化產品及面向大數據的數據可視化產品。
傳統(tǒng)數據可視化產品
PowerBI作為微軟推出的數據可視化產品,在2019年的GartnerBI象限中排名首位。優(yōu)點在于易用性,交互方式類似于Excel;缺點在于性能相對較弱,缺少數據準備于清洗工具。
Tableau基于關系型代數理論研發(fā),是目前使用最為廣泛的數據可視化產品之一。優(yōu)點在于基于拖放的交互方式,豐富的功能以及支持Hadoop和Google BigQuery等大數據平臺;缺點是僅支持結構化數據,大數據實時響應較慢,權限約束有限。
QlikView為新興的數據可視化產品,使用越來越廣泛。優(yōu)點在于數據關聯(lián)查詢與鉆取能力,圖表繪制快速;缺點在于易用性不足,作為內存型的數據可視化產品,數據處理速度依賴于內存大小,對硬件要求較高。
面向大數據的可視化產品
大數據背景下產生的數據可視化產品如下。
Apache Superset是基于Flask-Appbuilder構建的開源數據可視化系統(tǒng),B/S架構,集成了地圖、折線圖、餅圖等可視化方法,提供了一種方便的看板定制方法。優(yōu)點是系統(tǒng)可擴展性與權限控制機制;缺點是系統(tǒng)穩(wěn)定性和大數據處理能力不足。
Apache Zeppelin是面向大數據的交互式數據分析與協(xié)作記事本工具,開源項目,B/S架構。優(yōu)點是與不同大數據框架的集成能力與系統(tǒng)可擴展性;缺點是需要編程,不支持異步,對于大規(guī)模數據,客戶端可能需要等待較長時間。
大數據可視化挑戰(zhàn)
數據可視化在大數據場景下面臨諸多新的挑戰(zhàn),包括數據規(guī)模、數據融合、圖表繪制效率、圖表表達能力、系統(tǒng)可擴展性、快速構建能力、數據分析與數據交互等。
數據規(guī)模
大數據規(guī)模大、價值密度降低,受限于屏幕空間,所能顯示的數據量有限。因此為了有效顯示使用者所關注的數據和特征,需要采用有效的數據壓縮方法。目前已有的方法針對數據本身進行采樣或聚合,未考慮數據可視化的顯示特性。近期一些學者提出了針對特定可視化場景的數據壓縮方法。但是目前依然缺少通用的面向可視化的數據壓縮方法,也缺少實際應用的產品。
數據融合
大數據的另一個表現(xiàn)是數據類型多樣,常常分布于不同的數據庫。如何融合不同來源、不同類型的數據,為使用者提供統(tǒng)一的可視化視角,支持可視化的關聯(lián)探索與關系挖掘,是一個重要的問題。其中涉及數據關聯(lián)的自動發(fā)現(xiàn)、多類型數據可視化、知識圖譜構建等多個技術問題。
圖表繪制效率
隨著數據規(guī)模的增加,圖表可視化的效率問題越來越凸顯。目前,有些可視化產品開始采用WebGL借助GPU實現(xiàn)平行繪制。越來越多的數據可視化產品采用B/S架構,其性能一定程度上優(yōu)先于瀏覽器;另外,由于跨終端需求越來越普遍,也對圖表繪制提出了更多挑戰(zhàn)。
圖表表達能力
隨著產生數據的來源增加,數據類型不斷增加,數據使用者對于數據的交互需求越來越多,已有的數據可視化產品完全無法滿足使用者的可視化需求,時常出現(xiàn)需要的可視化形式產品不支持或支持不夠等問題。這就對于系統(tǒng)的圖表表達能力提出了更高的要求,同時對于系統(tǒng)支持使用者的個性化定制提出了新的要求。
系統(tǒng)可擴展性
大數據對于數據可視化系統(tǒng)的擴展能力提出了新的挑戰(zhàn),系統(tǒng)的可擴展性將成為衡量一個大數據可視化系統(tǒng)的重要指標。
快速構建能力
大數據伴隨著快速變化與增加的數據,如何幫助用戶及時理解數據,發(fā)現(xiàn)問題,離不開數據可視化的快速構建能力,即根據使用者數據驅動的圖表快速定制能力。數據在s級甚至ms級更新的情況下,有沒有可能實現(xiàn)圖表的秒級更新與快速定制。另外,圖表定制后的快速共享與響應功能也將成為必要的系統(tǒng)功能。
數據分析
傳統(tǒng)的BI工具主要集中在數據篩選、聚合及可視化功能,已經不能滿足大數據分析的需求,Gartner提出了“增強分析”,數據可視化只有結合豐富的大數據分析方法,將數據的探索式分析形成一個閉環(huán),才能實現(xiàn)完整的大數據可視化產品,有效幫助使用者理解數據。預測性分析是大數據的趨勢,數據可視化有效結合預測方法,將有助于使用者的決策。
數據交互
大數據可視化使用者需要通過可視化與圖表背后的數據和處理邏輯進行交互,由此反應使用者的個性化需求,幫助用戶用一種交互迭代的方式理解數據。在傳統(tǒng)的交互手段基礎上,更加自然的交互方式,將有助于使用者與數據更好的交互,也有助于拓展大數據可視化產品的使用范圍與應用場景。
大數據可視化技術與產品所面臨主要挑戰(zhàn)的同時也對其發(fā)展帶來了新機遇,例如Yu等提出的面向數據流式可視化的自然語言交互接口,通過自然語言與可視化常見操作的映射實現(xiàn)。微軟Excel軟件集成自然語言交互,其中的AnnaParser算法將數據表進行抽象并結合表格知識理解實現(xiàn)語義理解。
AutoVis
如前所述,大數據可視化面臨一系列挑戰(zhàn)。為此,課題組自主研發(fā)了數據感知的交互式可視化設計平臺AutoVis,目標是讓大數據的可視化過程更加簡單,核心是輔助使用者快速完成從數據到圖表的設計過程,包括數據定義、圖表設計、映射過程、圖表交互與看板服務。
數據定義
AutoVis支持IoTDB、PostgreSQL、MySQL、SQLServer、SQLLite等常用數據庫類型,以及提供RESTfulAPI接口的數據服務。設計實現(xiàn)了抽象數據集構建與計算技術,支持不同數據的自由組合,通過抽象數據集歸一化,實現(xiàn)數據集的快速生成。
圖表設計
AutoVis采用模板化思想,提供了百余個覆蓋常用可視化技術的圖表模板,支持即時模板擴展及拖拽即用,達到秒級圖表定義。另外,AutoVis提供了所見即所得的圖表組合定制看板能力,實現(xiàn)了分鐘級看板定義。
映射過程
為了達到圖表定制易用性的同時實現(xiàn)實時可擴展性,即融合編程方式的表達能力和交互方式的易用性,AutoVis設計實現(xiàn)了3種互補的數據至圖表的映射方式:交互選項、擴展選項、手工編碼。
圖表交互
圖表交互能力在大數據場景下愈發(fā)重要。AutoVis的圖表模板提供了常用的交互功能,包括點選、懸浮、刷選等。另外,AutoVis還實現(xiàn)了看板圖表的自動關聯(lián),支持跨圖表跨數據的鉆取能力。
看板服務
AutoVis在支持常用的看板鏈接共享基礎上,提供了看板服務能力,即使用者不僅可以將看板共享,或集成到其他系統(tǒng),還可以動態(tài)向看板傳遞參數,動態(tài)調整看板可視化內容。另外,AutoVis圍繞看板提供了“數字會商室”功能,使用者可以圍繞數字看板進行數據驅動的討論與決策。
數據可視化已成為人理解數據的重要途徑,在大數據時代,人們更加需要有效的數據可視化工具直觀分析大規(guī)模數據,快速捕捉數據變化。
相對傳統(tǒng)的數據可視化,大數據也帶來了數據規(guī)模、數據融合、圖表繪制效率、圖表表達能力、系統(tǒng)可擴展性、快速構建能力、數據分析與數據交互等多個方面的挑戰(zhàn)。有效應對這些挑戰(zhàn)將有助于大數據可視化隨著大數據和數據科學的普及,推動其應用到更多領域。