如何为Apache Kylin快速开发新数据源?
2019獨角獸企業重金招聘Python工程師標準>>>
在近期的Apache Kylin Innovation Meetup 上,Kyligence的技術合伙人兼生態合作技術總監李棟,與大家分享了Kylin的最新數據源開發功能。從Apache Kylin v1.6版本開始,Apache Kylin增加了對Kafka數據源的支持,打開了流式OLAP分析的大門。同時,隨著越來越多的企業用戶期望把傳統數倉、數據庫的數據也接入Apache Kylin做分析,從Apache Kylin v2.1版本開始支持JDBC數據源,滿足用戶對SQL on Hadoop、RDBMS等數據源中的數據進行OLAP分析探索的需求。
點擊可播放完整視頻
?
但是,JDBC數據源各不相同,想要深度實現某種數據源的對接,需要開發者投入大量精力對數據源做適配。因此Apache Kylin v2.6推出了Data Source SDK的功能,可以幫助開發者快速開發JDBC數據源的適配,實現新數據源的對接。
什么是Data Source SDK?
這套SDK是用于幫助開發者提高開發效率而生的,開發者可以使用這套Data Source SDK為某種數據源開發一個Adaptor,從而實現Apache Kylin從數據源中同步表、構建Cube、查詢下壓的需求。下圖中黃色菱形塊所示即為Data Source SDK提供的擴展接口。
首先,拿元數據同步來講,標準的JDBC接口就實現了獲取數據庫、表、列的API。但不同數據庫的實現方式可能不同,以及某些開發者不希望把系統庫、系統表暴露給分析師,這些需求都可以在Adaptor中實現。
JDBC數據源構建的過程如下圖所示,依賴sqoop在數據源中執行打平表的任務,然后把數據傳送到Hadoop集群,然后通過一系列MapReduce或Spark任務執行后續構建任務。Adaptor在構建過程的主要作用是,將Apache Kylin產生的打平表SQL語句轉化為數據源可支持的SQL方言。
在查詢下壓也是類似。Apache Kylin支持將無法命中Cube的查詢路由到數據源引擎中執行,然后把結果返回給用戶。Adaptor在查詢下壓中的過程也是實現SQL方言轉換,把用戶輸入的SQL語句從Apache Kylin的SQL方言轉換為底層數據源引擎的SQL方言。
如何開發一個Adaptor?
如下圖所示,Data Source SDK實際為一組函數接口的集合,開發者只需按照數據源的特性,開發響應接口的實現即可。
默認的,Data Source SDK中自帶了一個默認實現,基于這套默認實現,開發者僅通過添加一個XML格式的配置轉換模板,即可完成某個數據源Adaptor的開發。
如下圖所示,就是一個數據源的配置轉換模板,模板中定義了對于特定SQL語法的配置、函數表達式和數據類型的表達方式。開發者只需按照這些配置項,根據數據源特性填寫相應的配置,即可快速開發出一個新的數據源。如果有沒有被該模板覆蓋的需求,開發者依然可以重寫接口函數,對默認實現進行擴展。
Apache Kylin解決方案
有了Data Source SDK的功能之后,Apache Kylin可以支持更加廣泛的數據源,為企業進行大數據平臺架構優化也帶來了更多可能。
以前,報表等數據分析應用需要按場景對接多種底層技術,如多維分析對接Apache Kylin,靈活分析對接SQL on Hadoop;
現在,企業可以把Apache Kylin架構為統一的大數據OLAP平臺,為BI應用提供統一的數據出口,簡化系統架構和開發難度。
如上圖右側所示,我們使用Tableau報表做了測試:同樣的報表在查詢下壓和訪問Cube兩種模式下執行,均能正常渲染,且無需修改報表內容,同時獲得14倍的效率提升,可以有效幫助企業用戶實現數據分析從傳統技術向大數據平臺的遷移。
參考材料
本文僅對Data Source SDK的功能、框架做了簡要介紹,如果您想了解更加深入的技術細節,請參考以下鏈接:
kylin.apache.org/development…
kylin.apache.org/blog/2019/0…
講師PPT分享
聯系我們:
info@kyligence.io
Kyligence 官網
?
轉載于:https://my.oschina.net/cicixing/blog/3019572
總結
以上是生活随笔為你收集整理的如何为Apache Kylin快速开发新数据源?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 自己写组件。
- 下一篇: P2045 方格取数加强版