为了降低大数据应用开发的门槛,简化开发过程,星环随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以“好用”为目标,将功能提升点围绕在加深工具的产品化,着力于实现更高生产力。下一篇中我们将继续介绍Studio 5.1的另外几个产品的新特性,其中包括图形化的ETL工具Transporter,功能越发强大的工作流引擎Workflow,以及新引入的日志存储和分析工具Milano。
玩转大数据开发套件--下篇
接下来将继续介绍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的各项能力,构建完善的大数据生态体系,使用户能够自主打造自己的大数据应用。。