玩轉大數據開發工具(上下全篇)
為了降低大數據應用開發的門檻,簡化開發過程,星環隨Transwarp Data Hub 5.0開發出了大數據開發套件Transwarp Studio。Studio由一套PaaS產品構成,提供從提取、存儲、計算、展示的全鏈路大數據開發服務,全面覆蓋大數據開發流水線上的各項環節,為開發人員帶來流暢的數據分析體驗。
隨著TDH 5.1的發布與性能提升,Studio各個產品也獲得了核心性的改進和升級,并擴大了家族成員,發展進入一個新的階段。
多維度分析引擎 Rubik
Rubik作為Studio中的多維度分析引擎,用于OLAP Cube的設計與實例化,幫助實現高并發的百億行規模高維度SQL交互分析,對海量數據分析實現秒級甚至毫秒級的響應。Rubik 5.1在原有版本上得到了多方面的增進,對六個關鍵模塊做了提升和豐富,在效率與應用性上得到成長。
圖1 Rubik Cube設計界面
增量構建
當新增數據進入系統后,在進行Cube模型實例化時,Rubik不再對數據做全量構建,而是基于原基礎對新增部分做增量構建。Rubik的使用靈活性大幅提升,支持插入舊數據,以及向主表或碼表插入數據,同時通過完善增量合并機制,對增量數據立方體做有效的自動管理,在修改歷史數據的場景中也能夠快速更新模型實例,保證Cube模型的準確性和時效性。
新增降維優化策略
Rubik以原有的聚合組、聯合維度、衍生維度、層次維度、部分維度降維手段為基礎,新增必備維度和互斥維度兩種策略。其中必備維度是總會在查詢中用到的一組維度,互斥維度指總是不可能一起出現的一組維度。通過結合各維度間的維度關系以及維度自身特征,Rubik會在Cube模型預計算時,減少建模時實際的維度組合,縮減建模時間與空間占用。
更多的度量分析函數
Rubik將支持的度量分析函數增加到10余個,可以在建模時實現更加豐富的函數分析。其中,增加的函數包括percentile的計算函數,以及精確重寫和誤差重寫兩種SELECT DISTINCT方式:精確重寫的預計算速度和存儲代價的較大,但是結果精確;誤差重寫的預計算和存儲代價小,卻影響精確度,但用戶可以自主決定相對標準差的大小。
更有效的工作流控制
在數據量規模極大的情況下,Cube模型構建時間較長,存在失敗風險。因此從5.1開始,Rubik將對接Workflow,獲得更方便的調度和風險管控,以及實現任務重試、推遲構建、調整構建優先級等更豐富的功能。
模型導入導出
Rubik允許用戶將Cube模型以JSON文本的方式導入導出平臺,做半自動化的計算構建,同時支持跨集群的團隊協助,方便遠程診斷。
精細的權限控制
Rubik 5.1同安全管控產品Guardian進行無縫對接,實現賦權操作,用戶可以在Guardian頁面上對Rubik相關權限進行操作。Guardian為Rubik提供精細的權限控制,分別以域、項目、數據立方體劃分權限級別,保證權限管理的靈活度。
目前,Rubik在金融行業的實際的落地項目中,能夠靈活自如的應對報表查詢和多維分析的需求,創造極速的高維度分析,同時帶來良好的用戶開發體驗。
基于Web的報表工具
Transwarp Pilot是在5.1中新加入Transwarp Studio家庭的成員。作為輕量的自助式分析BI工具,Pilot克服了傳統BI工具的缺陷,提供智能的分析體驗,不論是對于可視化報表展現的豐富度,還是對于處理性能,都有極致的表現。
圖2 Pilot報表界面
Pilot覆蓋了用戶對于報表工具的多項關鍵性需求,可應用于多種行業領域。
輕量
Pilot作為基于Web的報表展現工具,輕量、靈活,可以快速部署,允許用戶在任意移動終端上訪問,隨時隨地用報表展現目標業務數據。Pilot將加速笨重的傳統BI工具成為歷史產品。
豐富的展現
Pilot提供幾十種報表樣式,支持時序數據,支持數據預覽。能夠快速構建報表,滿足用戶多種分析需求,使得商業智能得以以更加豐富的表現形式表展現。
圖3 Pilot支持的圖表類型
極速分析
Pilot充分利用Inceptor分布式引擎加速自助分析,借助列式存儲以及OLAP模型對多維分析的加速能力,提供秒級報表生成和語句分析響應速度。幫助業務人員有效把握時間,適應市場的快速變化。
自助SQL IDE
Pilot內置SQL IDE,對接Inceptor調試執行SQL語句。使SQL語句的調試執行與結果集的圖表生成一氣呵成。
交互式分析體驗
Pilot通過拖拽式界面支持自助的儀表盤布局設計,用戶可將相關報表組合在同一儀表盤,任意放大縮小報表尺寸,并通過過濾器聚焦關注內容。通過Pilot,用戶可以對報表進行有效的觀察和比對,了解趨勢發現問題,實現多種數據分析需求。
HDFS文件管理
內置HDFS文件系統管理模塊,提供HDFS目錄瀏覽,并以可視化的方式取代命令行方式實現HDFS文件上傳,實現便捷的HDFS文件管理。
支持多種數據源
Pilot可支持多種數據源,包括文件、Inceptor以及Oracle、MySQL等關系數據庫。
目前,Pilot在某一網站分析的實際落地案例中,有效的為內部分析人員提供對訪問者以及閱讀量情況的精確、多樣化的報表分析,幫助站運營人員實現網站內容管理的調整和優化。
玩轉大數據開發套件--下篇
接下來將繼續介紹Studio 5.1中的三個工具:高吞吐低延遲的日志存儲分析工具Milano、界面化的全新數據流同步工具Transporter、以及功能再升級的工作流引擎Workflow。
日志存儲分析 Milano
Milano是Studio家族的第六個新成員,提供集群日志分析服務,既可以用于TDH平臺日志分析,也可以直接作為客戶應用的日志處理平臺使用。Milano采用Filebeat+Kafka+Logtash+Elasticsearch+Kibana的架構,為用戶提供便利的接口實現日志檢索和統計分析,以及基于日志的預警功能,克服了傳統方式在大規模集群中做高級統計分析的障礙,并實現可視化的監測。
Milano提供優秀的吞吐量性能,以及低延遲的響應;保證水平可擴展,且不丟數據;同時提供可靠的安全保護,謹防系統日志的泄漏。因此,其技術優勢可以總結為以下三點:全鏈路高吞吐、全鏈路安全管控、全鏈路高可用。
全鏈路高吞吐
Milano的構成組件之中的Kafka和Elasticsearch本身具備高吞吐可擴展特性,可以根據壓力靈活擴展。Milano單節點的每秒日志收集量可達15000條,3節點的Milano監控集群日志量每日收集可以達到10億條。同時,Milano保障低延遲的入庫,從日志產生到入庫僅需10秒內的時間間隔。
全鏈路安全管控
Milano在日志收集、傳輸、分析等各個環節上實現安全管控。Kafka和Elasticsearch的數據通信都經過Kerberos加密,保障數據在傳輸過程的安全性。每個租戶的數據只允許進入授權的Kafka Topic或Elasticsearch Index,使各個租戶日志之間相互隔離,確保數據隱私。此外,對于可視化的監控界面Kibana,每個用戶都擁有自己的Kibana實例,通過LDAP實現安全認證。
全鏈路高可用
Milano的高可用性通過以下兩方面保證。首先,Kafka、Elasticsearch自身提供高可用保證,其他無狀態的組件通過Kubernetes多實例部署的方式保證高可用。其次,Kafka、Elasticsearch、Filebeat等服務自身都提供狀態監控,配合告警服務,可保證數據高可用,以及數據不丟不重。
數據流同步 Transporter
Transporter是一款數據流控制工具,用于控制數據在數據源之間的流轉和同步。Transporter隨TDH 5.0推出,但當時采用文件定義和命令的方式實現數據流轉的設計和實現,對于沒有技術基礎的用戶比較難上手。因此我們投入Transporter界面化的工作,使之在5.1中正式上線。
Transporter 5.1以圖形化操作取代配置文件編寫,極大提升數倉構建效率。Transporter基于Web提供數據流設計和控制,允許用戶自助設計數據流轉的業務規則,提供數據實時同步、ETL、卸數功能。
近實時同步
Transporter可對接Oracle GoldenGate、DataStage等ETL工具,并近實時的將數據同步進Inceptor;支持讀取MySQL和TxSQL日志,并近實時同步到數據倉庫,同時支持分Shard模式的日志同步;提供分鐘級的數據同步方案。
圖形化ETL
Transporter允許用戶在設計面板上通過拖拽圖形化控件和配置參數,將數據源和各種數據轉換操作定義在數據流轉流程中。同時支持豐富的數據源,除了可以對接Inceptor外,還支持外部數據源JDBC、CSV文本和定寬文件。
卸數功能
Transporter提供從Inceptor卸數的服務,將數據以CSV文件格式導出并存放在HDFS上。
工作流設計 Workflow
Workflow作為工作流引擎,使工作流的觸發與執行被自動化,大幅簡化工作流調度設計與管理工作,圖形化的設計方式讓作業任務之間的邏輯關系更清晰,業務人員可以快速上手。Workflow在Studio 5.1中得到進一步升級,設計界面更豐富,主要的提升點有:增加工作組概念、界面化調度周期設置、豐富監控頁面內容。
新增工作組
Workflow 5.1增加了工作組的概念,支持將任務以組為單位進行組合設計,實現調度和監控。工作組提高了工作流設計的邏輯性,使工作流管理更方便。
調度周期
Workflow 5.1開始實現交互式的表達式設計頁面,用于配置調度周期,并提供多周期的調度支持。
升級的監控頁面
Workflow 5.1在監控頁面上新增一級子頁面,提供更多的工作流監控歷史信息。同時,在工作流監控頁的詳情頁面中,用戶可以查看某段指定時間區間的工作流任務執行詳情。
結語
大數據開發套件的價值在于,它可以切合大數據開發需求,消除大數據開發工具在用戶體驗上的痛點,讓大數據產品就像日常工具一樣,不論我們是否懂它內部的技術原理,拿到它或者經過簡單的學習就可以上手使用。今后我們會繼續投入提升Transwarp Studio的各項能力,構建完善的大數據生態體系,使用戶能夠自主打造自己的大數據應用。