查看原文
其他

近实时的ETL工具--Transwarp Transporter

2017-07-28 Coda6 大数据开放实验室

Transwarp Transporter是星环科技随TDH 5.0发布的数据流工具,并且即将在TDH 5.1中实现可拖拽易操作的可视化界面,方便用户完成数据从多种数据源之间的流转。

ETL

ETL的出现是为了完成OLTP和OLAP系统之间数据的流转。

企业每天会有大量数据流入数据系统,在搭建数据处理平台时,通常会将OLAP和OLTP分离在不同系统,这是由OLTP和OLAP自身特点不同所驱使:OLTP对实时性、并发性、数据一致性的要求较高,且数据量不大,所以一般选择传统关系型数据库;而OLAP处理的数据量较大,对计算能力要求高,要求多维度数据模型,所以通常选择用数据仓库或者数据集市来支持。

如果不拆分OLAP和OLTP,会有有许多弊端,例如加剧关系数据库的资源紧缺程度,无法适应多租户场景等。将OLTP和OLAP分离,往往是低成本且高效的选择。

二者分离后,需要把数据从OLTP系统流转到OLAP系统,这时就要通过ETL工具来实现,用它对数据进行抽取(Extract)、转化(Transform)、加载(Load),把关系型数据库中的源数据导入数据仓库或者数据集市,作为数据分析的材料。

为什么开发近实时的ETL

开发近实时ETL的本质目的是缩短信息流转的耗时。

越来越多的应用场景要求数据处理平台提供实时的分析结果,例如在线电商需要根据访问者的历史记录,结合TA几分钟前的页面阅览情况,实时的向不同客户投放不同的优惠券或者广告。如果ETL只能提供T+1这样的迁移速度,那么等到数据流转到计算平台时,还未等开始计算,就已经流失了广告投放机会。为了不让平台分析能力受制于数据迁移速度,实现近实时的ETL工具是当下的必由之路。

Transporter的架构

Transwarp Transporter是一种具有近实时、高吞吐、支持多源库、和事务保障的特性的ETL工具,下图是Transporter的架构:

Transporter的左侧连接数据源,例如关系型数据库,右侧连接目标数据源,例如Inceptor。

Transporter支持多种数据源类型:包括多种传统关系型数据库、多种文件格式、多类同步工具以及跨集群的数据传输。导出位置可以是传统关系型数据库、Inceptor、文件等,并支持多种文件格式和Inceptor中所有类型的表。

Transporter提供了多种常见的数据转换操作,例如集合操作、关联、聚合等,实现功能全面的数据清洗加工和转换。

此外,Transporter还提供了其他多种特性,例如拖拽实现数据流设计、事务级数据同步、数据流并行计算等方式,从而提高Transporter的用户友好性、数据可靠性和传输敏捷性。

用Transporter定义和管理数据流作业

TDH 5.0中,Transporter只支持以JSON文件的方式定义数据流作业。从TDH 5.1起,Transporter将提供可视化的操作界面,简化数据流的定义过程。下面将介绍如何用Transporter 5.1中的界面对数据流进行定义和管理。

Transporter 5.1的操作面板上提供了三种标签页:仪表盘、数据流、参数。

仪表盘

展现了关于Transporter中数据流的各种统计信息,包括数据流状况统计,用户最近进行了哪些操作,今日用时最长数据流top20,今日波动比数据流top20,数据流执行进度比。

数据流

数据流页面提供了设计面板和调试功能。

  • 设计模式

    用于设计数据流作业,指定数据源的位置、数据转换方式和导出位置。下图为Transporter的数据流作业设计板块:

    Transporter支持三种节点类型,Reader,Transformer、Writer,分别表示从哪里读数据,如何做转换,最终输出哪里。

    Reader显示在页面的左侧,Transformer在左上方,Writer位于右侧。可以用拖拽的方式把对应控件拉到面板上,并进行相应的配置:对于Reader设置数据源地址,解析格式;对于Transformer设定采用的转换模式;对于Writer配置存放位置以及格式。

    这是在Transporter中设置某JOSN文件类型的Writer节点的示例:

    各个节点设置完成后,用箭头将节点按逻辑相互连接,就完成了数据流的设计。

    例如,上图所设计的流程可以翻译为,当前有三个数据源:一个JSON文件,Inceptor里数据库中的一张表,一个cvs文件,取三者的并集,再进行过滤,最终将结果保存在Inceptor的某张ORC表中。

  • 调试模式

    进入调试模式后点击“开始调试”,便可以调试工作流作业。节点若显示绿色表示运行成功,同时可通过点击相关按钮查看执行日志。若无错误产生就可以准备发布工作流,若报错可根据工作流纠错。

参数

参数标签页是设置全局参数的地方,可以在定义数据流作业时,于任意表达式中使用此处添加的参数。如图所示,字符串“My Database”被赋予给变量“db”,在定义数据流作业时就可以用${db}表示“My Database”。

总结

Transporter的出现可以将业务人员从定义ETL作业的工作中解放出来,业务员应该更注重数据的分析而不是工程的实现,所以Transporter可以让业务人员更加自治自主的实现自己的想法。同时Transporter提供近实时的响应和高吞吐、以及对事务的保障,从而能够在高效且快速的实现数据迁移的同时确保数据的可靠性。



往期原创文章

MBO: SQL优化之基于物化视图的优化

用Slipstream构建复杂事件处理应用

混合负载下的资源调度神器--Inceptor Scheduler

你应该知道的工作流调度平台——Transwarp Workflow

OLAP Cube可视化设计工具—Transwarp Rubik

TDH荣获TPC官方测试(TPCx-HS@10TB)最佳性能

利用Transwarp Guardian保障HDFS安全

Governor中的元数据血缘关系和影响分析

星环的划时代版本-Transwarp Data Hub 5.0

关于StreamSQL中的Application隔离

基于流的SQL引擎:StreamSQL(基础介绍)

如何让Kafka集群免受黑客攻击

Transwarp如何让Hadoop集群免受黑客攻击

Hadoop平台中SQL优化的四个思路

大数据基础技术的未来演进趋势预测




大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存