QuickBI支持多種數(shù)據(jù)源進行多維分析-創(chuàng)新互聯(lián)

一、摘要
隨著互聯(lián)網(wǎng)的高速發(fā)展,數(shù)據(jù)量爆發(fā)式增長的同時,數(shù)據(jù)的存儲形式也開始呈現(xiàn)出多樣性,有結(jié)構(gòu)化存儲,如 Mysql, Oracle, SQLServer 等,半結(jié)構(gòu)化甚至非結(jié)構(gòu)化存儲,如HBase,OSS 等。那么從事數(shù)據(jù)分析的人員就面臨著從多種多樣的數(shù)據(jù)存儲形式中提取數(shù)據(jù)而后進行多維分析,這將是一件非常具有挑戰(zhàn)的事情。而Quick BI 作為新一代智能BI服務平臺,恰好解決了這一難題,不僅支持多種結(jié)構(gòu)化數(shù)據(jù)源的多維分析,也支持本地文件上傳后的查詢分析,同時還支持部分非結(jié)構(gòu)化數(shù)據(jù)源的OLAP分析,甚至支持混合異構(gòu)數(shù)據(jù)源的關(guān)聯(lián)分析。
Quick BI 目前支持的數(shù)據(jù)源既可以來自阿里云數(shù)據(jù)庫,也可以來自自建數(shù)據(jù)庫,如下所示:

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設多線服務器托管的網(wǎng)絡公司,有著豐富的建站經(jīng)驗和案例。

Quick BI 支持多種數(shù)據(jù)源進行多維分析
Quick BI 支持多種數(shù)據(jù)源進行多維分析
Quick BI 支持多種數(shù)據(jù)源進行多維分析

二、結(jié)構(gòu)化數(shù)據(jù)源多維分析
對于一般的數(shù)據(jù)源,用戶在做多維分析之前需要先在Quick BI 數(shù)據(jù)源界面添加自己的數(shù)據(jù)源,比如MySQL數(shù)據(jù)源,如下:

Quick BI 支持多種數(shù)據(jù)源進行多維分析

數(shù)據(jù)源添加完成后,可以選擇一張或多張要進行分析的數(shù)據(jù)表創(chuàng)建一個數(shù)據(jù)集,如下:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
數(shù)據(jù)集創(chuàng)建完成后用戶就可以在儀表板里拖拽維度和度量進行多維分析了,比如:
Quick BI 支持多種數(shù)據(jù)源進行多維分析

結(jié)構(gòu)化數(shù)據(jù)源的多維分析相對比較簡單,大致過程就是針對每次多維分析查詢,根據(jù)用戶選擇的維度,度量及過濾條件等查詢因子,生成相應結(jié)構(gòu)化數(shù)據(jù)源的方言SQL,然后通過執(zhí)行機下發(fā)到用戶自己的數(shù)據(jù)庫去執(zhí)行該SQL,最后Quick BI接收返回的查詢結(jié)果進行可視化展現(xiàn)。下圖展示了多維分析的流程圖:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
順便介紹一下,本地文件上傳支持csv 和Excel 兩種文件類型。上傳后的文件會落地到Quick BI提供的一種官方數(shù)據(jù)源:探索空間。探索空間底層依賴了一種阿里云自研的MPP SQL引擎,提供存儲+計算服務。
接下來的篇幅將著重介紹非結(jié)構(gòu)化查詢分析及混合異構(gòu)數(shù)據(jù)源關(guān)聯(lián)分析的原理。

三、非結(jié)構(gòu)化數(shù)據(jù)源查詢分析
3.1 背景
近年來部分大型企業(yè)更傾向于采用諸如半結(jié)構(gòu)化存儲(HBase),對象存儲(OSS)等能容納較大數(shù)據(jù)規(guī)模的數(shù)據(jù)庫。如何有效地幫助企業(yè)對此類數(shù)據(jù)源進行多維數(shù)據(jù)分析是目前業(yè)界BI產(chǎn)品的一項挑戰(zhàn)。
在開源的數(shù)據(jù)庫產(chǎn)品當中,存在著一些潛在的解決方案。例如,針對HDFS數(shù)據(jù)的查詢,Hive設計了metastore組件,專門用于存儲元數(shù)據(jù),解決了從結(jié)構(gòu)化查詢到非結(jié)構(gòu)化數(shù)據(jù)之間的映射關(guān)系,用戶通過使用創(chuàng)建外部表SQL的語法,可以更靈活地自定義映射的方式。另外,Apache Phoenix也采取了類似的方式讓用戶能夠使用SQL語句對HBase中的數(shù)據(jù)進行查詢。經(jīng)過充分調(diào)研后,針對Quick BI產(chǎn)品自身的業(yè)務場景,結(jié)合開源計算引擎二次開發(fā)了一套用于非結(jié)構(gòu)化查詢的分析引擎。

3.2 技術(shù)原理
對非結(jié)構(gòu)化數(shù)據(jù)源進行OLAP查詢,其關(guān)鍵在于支持SQL語法形式的數(shù)據(jù)查詢。Quick BI在OLAP引擎內(nèi)部采用創(chuàng)建外部表的SQL語法,給用戶提供了一種自定義的,從非結(jié)構(gòu)化數(shù)據(jù)到結(jié)構(gòu)化存儲的映射方式。對于諸如MySQL、Oracle等結(jié)構(gòu)化的數(shù)據(jù)源而言,無須額外的元數(shù)據(jù)信息,而對于非結(jié)構(gòu)化的數(shù)據(jù)源,需要提供額外的元數(shù)據(jù)信息。Metastore維護了所有非結(jié)構(gòu)化數(shù)據(jù)源的元數(shù)據(jù)信息,元數(shù)據(jù)信息中反映了非結(jié)構(gòu)化數(shù)據(jù)到結(jié)構(gòu)化之間的映射方式。Metadb中包含了3張表,用于定義可以被SQL查詢所需要的元數(shù)據(jù)信息,如下圖所示:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
Schems、Tables和Columns分別定義了外部表的結(jié)構(gòu),通過SQL創(chuàng)建外部表時,在其中加入相應的記錄。查詢非結(jié)構(gòu)化數(shù)據(jù)源時,再讀取相應的記錄,對數(shù)據(jù)進行解析。
下面以一個場景作為例子,進一步地說明非結(jié)構(gòu)化查詢的過程,假設用戶以CSV文件的形式將業(yè)務數(shù)據(jù)存儲在OSS上,文件的名稱為iris.csv,其內(nèi)容如下所示:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
針對這個文件,用戶期望利用Quick BI對其進行OLAP查詢,根據(jù)用戶在Quick BI數(shù)據(jù)源頁面中的配置,OLAP內(nèi)部生成一條創(chuàng)建外部表的SQL語句:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
SQL Parser對SQL進行解析,AST Builder生成對應的AST,如下圖所示:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
注意到該AST包含了外部表所需的全部信息,包括如何解析csv文件并映射成結(jié)構(gòu)化的數(shù)據(jù),使得數(shù)據(jù)能夠與SQL中的schema、column和table對應。Query Execution調(diào)用Metastore將信息存儲至Meatadb。此時,存儲再OSS上的CSV文件在邏輯上已經(jīng)映射成了一張表,如下圖所示:

Quick BI 支持多種數(shù)據(jù)源進行多維分析

下一步便可以直接使用SQL對其進行查詢,例如,使用下面的SQL篩選出種類(species)為setosa的數(shù)據(jù)記錄;
Quick BI 支持多種數(shù)據(jù)源進行多維分析
同理,對于HBase數(shù)據(jù)源,同樣采用外部表的方式定義映射規(guī)則:
Quick BI 支持多種數(shù)據(jù)源進行多維分析

3.3 小結(jié)
Quick BI 目前支持對OSS上的csv 文件進行查詢分析,后續(xù)會增加支持OSS上更多文件類型的查詢分析,及對HBase的多維分析。

四、混合異構(gòu)數(shù)據(jù)源關(guān)聯(lián)分析
4.1 背景
Quick BI用戶對異構(gòu)數(shù)據(jù)源的分析需求,如:維表在MySQL,事實表在MaxCompute時,需要進行不同類型數(shù)據(jù)源間或相同類型數(shù)據(jù)源不同庫間表的關(guān)聯(lián)分析。

4.2 技術(shù)原理
要能夠支持異構(gòu)數(shù)據(jù)源間的跨源關(guān)聯(lián)分析,首先需要有一款具備數(shù)據(jù)源Connector 插件機制的計算引擎,這樣就能夠方便擴展支持多種數(shù)據(jù)源類型查詢。我們從業(yè)界開源計算引擎中選擇了一款具備這樣特性的MPP內(nèi)存計算引擎,經(jīng)過二次開發(fā),形成了一套適合Quick BI業(yè)務場景的跨源查詢引擎。
跨源查詢引擎在支持異構(gòu)數(shù)據(jù)源查詢時,只需在查詢SQL中使用完整的catalogName.dbName.tableName表名(如:odps.quickbi_test.company_sales_record),
在Quick BI業(yè)務中用戶自己配置的每個數(shù)據(jù)源在后臺都會配一個唯一標識dsId, 所以剛好可以用來作為catalogName, 且涉及到的Catalog在跨源查詢引擎中已經(jīng)被加載即可。之后在查詢時,跨源查詢引擎會解析SQL,生成邏輯計劃、物理計劃,再通過Catalog的配置到指定數(shù)據(jù)源加載數(shù)據(jù),在內(nèi)存中進行計算并返回最終結(jié)果。
大部分多維分析都是單源查詢,那么在什么情況下才會啟用跨源查詢引擎呢,這就需要實現(xiàn)異構(gòu)數(shù)據(jù)源查詢的智能路由,智能路由主要是根據(jù)查詢模型中涵蓋的數(shù)據(jù)源信息來判斷是單源查詢還是多源查詢來決定路由到單源查詢引擎還是跨源查詢引擎??缭床樵兞鞒倘缦聢D所示:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
注意要確保本次查詢所涉及到的catalogs 向跨源查詢引擎的CatalogServer 動態(tài)注冊成功后,才能下發(fā)本次查詢的SQLText到跨源查詢引擎。
示例:MaxCompute, MySQL 間的異構(gòu)查詢SQL:
Quick BI 支持多種數(shù)據(jù)源進行多維分析
查詢結(jié)果:
Quick BI 支持多種數(shù)據(jù)源進行多維分析

4.3 小結(jié)
異構(gòu)數(shù)據(jù)源分析功能對用戶是透明無感知的,歡迎前往Quick BI體驗。用戶只需在數(shù)據(jù)集關(guān)聯(lián)時選用來源于不同庫的數(shù)據(jù)表,就可輕松體驗異構(gòu)數(shù)據(jù)源分析功能,目前支持MaxCompute、MySQL、Oracle間的異構(gòu)數(shù)據(jù)源查詢或同構(gòu)數(shù)據(jù)源跨庫查詢。后續(xù)會支持更多類型數(shù)據(jù)源異構(gòu)查詢,如 Hive, SQLServer, PostgresSql 等。

五、未完待續(xù)
Quick BI 后續(xù)將會迭代更新逐步支持更多類型數(shù)據(jù)源的多維分析,如API類數(shù)據(jù)源等,敬請期待…

作者:薩若 衣候

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:QuickBI支持多種數(shù)據(jù)源進行多維分析-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article4/dpsjoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、用戶體驗、網(wǎng)站收錄電子商務、企業(yè)建站網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設