PowerBI 2018年10月更新 引入99.99%的人不知道的大數據分析領域神獸

  • 2019 年 10 月 6 日
  • 筆記

問:為什麼還沒有更新10月的文章? 答:沒學會呢。 問:10月PBI更新又沒有特別複雜的內容。 答:非也。10月PBI更新是PBI史上里程碑。

PowerBI 2018年10月更新可謂是一次具有里程碑意義的更新,這次更新中引入了 99.99% 的人(尤其是非大數據領域業務夥伴)都不知道的大數據分析領域的神獸——企業版Apache Kylin。

由於這是一次非常重大的更新,不知是什麼原因,PowerBI Team 並沒有在更新的說明中提到此事,也許是因為這個融合還處於beta階段,也許企業版Apache Kylin 特殊的戰略意義,因為企業版Apache Kylin 從某種意義上是 Azure Analysis Service 的類似產品。不管如何,這次更新的歷史意義必將進一步改變 PowerBI 世界。

本文分為兩部分,首先快速回顧PowerBI十月的更新,接着,我們一起來認識一下 企業版的Apache Kylin。一起開開眼。

PowerBI 10月更新主要內容

按微軟PowerBI Team的講法,本月更新中最大的亮點有兩個:

  • Power BI Service開始支持複合模型以及聚合。
  • 數據準備中支持模糊合併。

他們包括:

  • 報表方面
  • 篩選器卡支持搜索
  • 交互體現增強
  • ArcGIS Map 性能增強
  • 建模方面
  • DAX 編輯器改進
  • 分析方面
  • Power BI Service支持複合模型及聚合
  • 解釋不可累加度量值的增長
  • 自定義可視化方面
  • Mapbox updates – 3D extrusion on fill maps & more
  • Various bar & column chart visuals by Akvelon
  • 3AG Systems – Column chart with small multiples
  • 3AG Systems – Bar chart with absolute variance
  • 3AG Systems – Column chart with relative variance
  • 數據連接器方面
  • Web By Example connector is now generally available
  • SAP BW Connector implementation v2 is now generally available
  • SAP BW Message Server Connector is now generally available
  • Vertica connector is now generally available
  • Dynamics NAV and Dynamics 365 Business Central connectors are now generally available
  • New Dynamics 365 Business Central On-premises connector
  • 數據準備方面
  • 列分佈與列質量
  • 模糊匹配
  • 其他方面
  • 導出數據控制
  • 安全性控制

下面對一些重要特性做簡單介紹。

打開預覽功能

為了更好地理解本次更新,首先應該打開預覽功能:

視覺篩選器允許搜索

如圖所示:

這讓用戶可以快速找到可以要篩選的信息。

增強的交互式編輯體驗

用戶現在可以在可視化面板對選擇的字段做控制,如下:

以及:

ArcGIS Map 性能改進

ArcGIS Map是PowerBI內置的一個地圖服務,由於性能問題,大多數情況仍然使用默認地圖。在本月的更新中,ArcGIS Map的性能做了大幅改進,支持顯示30000個經緯度點。

按照 ArcGIS Map 官方的測試,以前是這樣的:

可以看到在地圖切換時,是有明顯的加載延時及卡頓現象的。在本次改進以後是這樣的:

哇,感覺速度塊多了~

DAX 編輯器得到改進

DAX 是 PowerBI 中非常重要的內容,也許是最重要的,而對編輯器的支持一致是大家的訴求,本次微軟PowerBI Team給出了官方的改進,它繼承了類似 VS Code 的風格並給出了各種快捷方式等。

請參考:PowerBI DAX 編輯器快捷鍵

我們進一步來說明這個改進的編輯器如何使用:

參照上圖,可以發現這個改進的編輯器有這幾個特點:

  • 縮進對齊參考線
  • 有了行號
  • 右側鳥瞰視圖短橫線表示光標位置
  • 右側鳥瞰視圖陰影部分表示當前編輯器可見位置
  • 右側鳥瞰視圖一對小方塊表示括號的開閉位置

這讓我們對整體把握 DAX代碼 有了很好的幫助,當然快捷方式也是很有用:

Alt+ ↑ / ↓ 向上/下移動本行 Shift+Alt + ↓ / ↑ 向上/下拷貝本行 Ctrl+Enter 在下方插入行 Ctrl+Shift+Enter 在當前行上方插入行 Ctrl+Shift+ 跳轉到匹配的括號 Ctrl+] / [ 縮進當前行 Alt+Click 增加焦點 Ctrl+I 選擇當前行 Ctrl+Shift+L 選擇所有匹配的內容,如下:

可以看到短橫線表示光標匹配處的多個元素,還可以注意到右上角給出了匹配選項。

Ctrl+F2 選擇當前詞語出現的所有位置

Ctrl+Shift+L 以及 Ctrl+F2 可以幫助我們批量選擇多個匹配的點位,進行批量編輯。這樣可以大大提升編輯效率。

PowerBI Service 支持複合模型及聚合

複合模型及聚合將是PowerBI中非常重要的主題,因為這種設計將幫助PowerBI支持真正的大規模計算,核心原理在於:將匯總過的有限的數據加載進入PowerBI數據模型,將大規模數據(如:10000億行)留在數據源端,當用戶的使用可以命中聚合時使用PowerBI數據模型否則使用數據源處理。

詳細描述可以參考:

現在終於可以將這個特性與雲端結合起來了。PowerBI Service開始支持了。

這個特性的本質在於:預計算。如果可以命中預計算,則使用預計算,否則實時計算。利用這個特性,PowerBI便可以展示多達10000億行規模的數據計算,因為如果無法命中預計算(緩存),則使用底層數據源進行實時計算。真正的問題來了:底層的數據源應該是什麼,可以完成實時對10000億行數據的計算

【底層的數據源應該是什麼,可以完成實時對10000億行數據的計算】這將是整個大型架構設計的核心所在,從這個數據規模來看,已經屬於大數據的範疇,這個數據源不太可能是 SQL Server 數據庫,因為如果數據源無法完成對10000億數據的實時計算,那這個理論也就無法真正實現。在微軟的數據架構體系下,這個數據源應該是 Azure(SQL Server) Analysis Service,它提供了企業級統一的業務語義層定義。但問題來了,在應對10000億行數據的案例中,微軟並不是用Azure Analysis Service做的演示,在現實中Azure Analysis Service也似乎無法做到滿意的效果,說這麼多,其實就是留給 Apache Kylin 一個引子,Apache Kylin 的進入,也許將徹底解決這個問題,後面詳細描述。

解釋增長和下降開始支持所有類型度量值

度量值大致分為兩種(實際是3種,還有半可加度量):可加度量(如:銷售額)及不可加度量(如:利潤率),此前PowerBI的分析支持對可加度量尋找它增長或下降的原因,本次更新加入了對不可加度量尋找其增長或下降的原因,如下:

可以看出,對於2013年,2014年的利潤率從14%以上下降到13%以下,那麼是什麼原因造成的呢,我們可以使用PowerBI的分析功能(右鍵點擊該圖表某年數字選擇:解釋此下降),則顯示出該圖。

這裡使用了散點圖來表達這個問題,給出可能的原因,例如這兩年的男性客戶顯然沒有太大變化,而女性客戶的購買利潤率下降比較明顯,所以可以引導運營去考慮女性客戶利潤率下降的原因。

列分佈與列質量

可以在 PowerQuery 編輯器打開該功能,如下:

這樣,就可以在數據準備階段完成初步對數據質量的控制,如下:

模糊合併

PowerBI 在數據合併種開始支持模糊合併,如下:

這可以幫助我們更高效地完成某些自定義地合併。

其他方面

對於本次更新的其他方面大家可以參考官方博客,如下: https://powerbi.microsoft.com/zh-cn/blog/power-bi-desktop-october-2018-feature-summary/

這次更新最重大的內容是:Apache Kylin。

PowerBI 引入 Apache Kylin

感性認識Apache Kylin

為了便於理解,如果不做解釋,Apache Kylin 與 Kligence Enterprise 在本文中大致指的是一個概念。

首先看看樣子感性認識下:

然後你可以想像到,像任何數據源一樣,可以這樣:

由於該連接器尚在開發中,所以很正規的告訴用戶這點,然後:

這裡使用具有非常大威力的【DirectQuery】。直接加載一個交易數據表,大概5秒完成,由於是DQ模式,僅僅加載數據結構而不會真正加載數據,該數據源表大小約1200W行。 在 PowerBI 中快速定義個度量值:交易數,然後很快拖拽了解下各個品牌的交易筆數如下:

非常快就出現了結果,這裡用到了PowerBI和數據源結合時的兩個最重要能力:

  • PowerBI 提供 DirectQuery 查詢
  • 數據源 支持 DirectQuery 查詢

這意味着在PowerBI中只需要加載數據源的結構,而無需加載實際數據,當用戶進行操作時,PowerBI通過DirectQuery(簡稱:DQ查詢,DQ不是你女朋友吃的冰雪皇后哦),將查詢轉交給數據源去處理,至於數據源是如何查詢的,PowerBI不管,只要數據源給PowerBI結果就可以了。

Apache Kylin 在 PowerBI 背後完成了真正的查詢,因此,支持 Direct Query 查詢模式的數據源的能力就至關重要,它決定了可以處理的實際數據量級大小。

依稀記得雷軍在發佈小米時常常說小米是手機中的性能怪獸,那 Apache Kylin 就是大數據分析中的性能神獸

內行的人可以看出,Apache Kylin 將在大數據與PowerBI業務分析之間架起一座真正的橋樑,讓業務人員真正可以駕馭超大規模數據,這不再是口號。

Apache Kylin 與 Kyligence

您可以簡單理解:Apache Kylin 是 大數據分析世界的性能神獸,這裡有幾個要點:

  • 大數據,真正技術架構意義上的大數據
  • 分析世界,它為面對分析提供服務,而非存儲
  • 神獸,Kylin(中文名:麒麟,中國遠古時代的神獸),可見其地位是至高無上的

Apache Kylin™是一個開源的分佈式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規模數據,最初由eBay Inc. 開發並貢獻至開源社區。它能夠處理TB乃至PB級別的分析任務,能夠在亞秒級(意思是不到1秒)查詢巨大的Hive表,並支持高並發。Apache Kylin是 Apache 軟件基金會頂級開源項目,而且是首個來自中國的

Kyligence(一家公司名)(上海跬智信息技術有限公司)正是由Apache Kylin 核心團隊組建,是專註於大數據分析領域的數據科技公司,Kyligence 基於 Apache Kylin 進一步開發了企業級智能大數據分析產品 Kyligence Enterprise(私有部署) 及 Kyligence Cloud(雲端部署)。華為、中國聯通、OPPO、上汽集團、太平洋保險集團、中國銀聯、國泰君安、今日頭條、美團等都在用。Kyligence 公司總部位於上海,目前 Kyligence 剛於2018.7完成B輪1500萬美元融資。

上述內容簡單講就是:來自中國的一個神奇團隊(大部分來自上海交大,非常年輕)創建了一個在大數據分析領域神獸級地位的開源項目Apache Kylin,如果你企業可以自己玩大數據,用整套技術是免費的;如果你企業不想自己什麼都做,不差錢,不要緊這個神奇團隊已經開了公司,提供企業級專業服務。這個公司就在上海(這次有問題終於可以有人快速解決了,甚至當面討論了),已獲B輪1500W美元融資,發展迅猛,關鍵的是眾多存在大數據分析痛點的知名企業已經在這個公司的幫助下得到了根本性的改善,所以,也許只是您還不知道而已。

在學習了 Kyligence 深度定製的企業版 Apache Kylin 的相關技術體系後,我知道本月PowerBI的更新是里程碑式的,微軟懷着開放的思維,在其構建的生態當中引進了這種來自中國的神獸,在學習了 企業版 Apache Kylin 對大數據分析的處理後,非常樂於推薦,因為很多傳統企業也面臨類似困境,可以業務人員由於不在大數據圈,可能根本不知道原來我們國內已經有如此先進的技術。隨着對 Kylin 的學習,也越陷越深,發現這個技術從多個方面給 PowerBI 提供了 PowerBI 原本不擅長或不具備的能力,簡直一發不可收拾,所以在10月更新中,免費來給 Kylin 來波廣告,也歡迎深入理解 Kylin 的夥伴一起來交流,看看和PowerBI可以玩出怎樣的花樣。

企業版 Apache Kylin 的先進性

由於 Apache Kylin 是開源的,而 Kyligence 公司又按照客戶的需求以及自己對未來的設想,將 Apache Kylin 進行了很多深入的定製形成了企業版,這裡將簡單說明 企業版 Apache Kylin 的先進性(開源的要做好多配置,實在玩不來),這裡不對 Apache Kylin 以及 Kyligence 公司產品(Kyligence Enterprise)做嚴格區分,統一簡稱 K。(需要完全理解其區別的夥伴可以自行搜索相關信息)

Kyligence Enterprise 是 Kyligence 基於 Hadoop 的企業級智能大數據分析平台, 在 PB(Petabyte) 級數據集(10000億行)上提供亞秒級查詢響應和互聯網級的高並發訪問。

整體架構如下:

可以看出 K 的作用就是為 BI 層 接通 大數據層起到統一接口。

在本文使用Direct Query時,留下一個引子,就是PowerBI如何和大數據世界打通,到底誰可以支持DQ模式來給PowerBI「餵食」,可惜啊可惜,答案居然不是:Microsoft SQL Server Analysis Service,因為 Microsoft SQL Server Analysis Service 居然不支持Direct Query,雖然其支持 Live Connection,由於篇幅原因,不進行詳細對比,但PowerBI在混合模式下,一定要的是Direct Query和導入數據的結合。

K 的優勢從根本上解決了5大痛點。

超高性能

也許您看不懂這個圖在說什麼,只需要理解:在大數據分析世界默認用的是Spark SQL的查詢方案,與之對比,K 的優勢非常明顯,所以說它是神獸。在測試中,K 在有限的硬件資源條件下,能夠成功執行所有查詢,大部分查詢能夠在3秒內返回結果,相比 Spark SQL 2.2 平均有 15 倍的性能提升。

融合式智能查詢路由

這是啥意思,在PowerBI的複合模型和聚合下,會看到在處理大規模數據分析時的業界共識:預計算。PowerBI的數據模型可以加載(導入模式)已經輕度匯總的數據,如:產品及銷售額,在用戶查詢時,如果命中則直接返回這個結果,所以很快,如果不能命中,則轉交給底層數據源處理。K 其實在大數據的基礎上構建了Cube,當 K 接受到查詢時,它又會智能的做出判斷:

如果用戶的查詢可以命中Cube,則從Cube中直接返回結果,這個速度非常快,而且與數據量級大小甚至沒啥關係,對1億行的集合和10000億行的集合差不多(計算機中用算法複雜度表示為 O(1) 即常數級 )。如果不能命中Cube,再看能不能用索引處理;如果不能再將該查詢進一步轉到更底層的數據源去。

總之,就是在用戶與真正的大數據之間設置了層層保障,盡量用最快的方式給出近乎實時的查詢體驗。

智能建模 – 讓大數據回歸業務分析

大數據其實是非常偏向技術的,而 K 居然將這麼複雜的技術用非常靠近業務的方式體現了出來,這樣,精通業務分析的分析人員可以無需編程,只需簡單拖拽,即可快速完成多維數據建模,實現大數據的分佈式處理與分析。而且 K 還引入了機器學習來實現智能分析以自動建模,致力於代替人工。

從這點可以充分看出 K 團隊完全把握了時代的先機以及業務人員希望避免重複勞動的巨大痛點。

無縫整合 BI 工具與企業應用

實際上,K 可以支持各類BI,如果簡單打一個比方就是:

這是一隻讓 BI 可以騎上去的麒麟,騎上 K ,BI工具就可以駕馭大數據。Power BI 內置了可以騎上 K 的數據連接器,也就是讓業務人員可以騎上 K 。準確講,這也是在 Kyligence 團隊的努力下完成對接企業版 Apache Kylin,開源的 Apache Kylin 是不支持這個特性的。

因此,想像下作為業務人員,您可以騎上駕馭大數據的神獸麒麟,可以想像了~~~

企業級特性

為了把 PowerBI 真正落地,其實有很多問題要解決,包括:

  • 技術穩定性,兼容性
  • 多級數據訪問控制
  • 單點登陸,域集成等
  • 讀寫分離與高可用(99.99% 時間在線可用)

以上內容,K全部支持。這也是 Kyligence 對比 Apache Kylin 提供了深度的企業級定製:

Apache Kylin 開源免費,只有企業有大數據開發團隊可以自己去開發這些企業特性;但如果是傳統企業希望直接投資使用企業級特性,可以考慮 Kyligence Enterprise。

另外,K 其實支持企業本地私有部署,雲部署以及混合部署,所以您不用擔心自己的數據是不是要上雲的安全性問題。

K 的神處,不只是這些,K 可以和 SSAS 比肩,甚至也許…

總結

PowerBI 10月更新中,最重要的更新不是別的,而是微軟官方提供了可以允許業務人員「騎」上可以駕馭大數據的神獸的數據連接器,有了這個連接,PowerBI徹底接通了大數據世界。想像着可以基於 PowerBI 和 企業版Apache Kylin駕馭大數據,從個人的視角看,這是一套目前相對徹底的解決方案。我們期待 K 自定義連接器的正式發佈。

感謝 K 團隊夥伴提供了學習上的支持,如果大家有需要研究 PowerBI 與 K 結合的,可以聯繫 http://kyligence.io/zh/ 或者私信BI佐羅,幫您對接。

另外, PBI 與 Kylin 共同實現駕馭大數據建模及分析完整地打開了大數據世界 , 如果大家感興趣,歡迎留言,如果留言熱烈,我會專門開設一個專題來分享 PBI 與 SSAS 以及 K 共同實現企業級建模的專題和對比研究。