TDH中的Transporter

本文主要介绍Transwarp的etl工具——Transporter,本文依托于星环的官方文档,通过一个简单的实例来让大家熟悉Transporter的使用。关注专栏《Transwarp系列》了解更多Transwarp的技术知识~


目录

一、Transporter简介

1.1 简介

1.2 Transporter的特点

二、Transporter实例

2.1 案例一

2.1.1 业务需求

2.1.2 业务实现

2.2 案例二

2.2.1 业务需求

2.2.2 业务实现


一、Transporter简介

1.1 简介

Transporter是一个数据etl工具,支持从不同数据源获取数据,对数据的复杂转换操作,并最终将数据落地成不同格式。Transporter左侧连接数据源,如关系型数据库,右侧连接目标系统,如Inceptor。支持用户将数据从RDBMS迁移到Hadoop,再进行数据分析和挖掘工作。

TDH中的Transporter_第1张图片

1.2 Transporter的特点

1、支持丰富的数据源

Transporter支持跨集群的数据导入,并且可直接从Oracle/DB2等传统关系数据库将数据导入至TDH,同Sqoop相比,可以在不失效率的情况下简化繁琐的数据流定义步骤以及复杂的类型转换等问题。支持导入CSV、定长文件、JSON、XML等文件。同时支持导入OGG、Shareplex、DataStage产生的增量文件,实现准实时的数据同步。此外,还支持通过Kafka等方式读入流数据。

2、支持丰富的导出格式

用户可以通过Transporter直接导出数据至传统关系数据库、ElasticSearch,以及实现跨集群导出。Transporter支持多种数据导出格式,如CSV、JSON、XML,并且支持Inceptor中所有类型的表:普通ORC、ORC交易表、Holodesk、Hbase、Hyperdrive。

3、支持多种数据转换操作

提供多种常见的数据转换操作,帮助实现数据的清洗,加工。其中的关键操作有:字段映射功能、数据关联、集合操作、聚合操作、过滤、去重。

4、轻量的应用

采用Web交互的方式,实现数据流的设计。Transporter只是用于数据流设计和调度工作流的服务平台,本身不包含执行引擎,不负责任务实现,而是将工作任务提交到Inceptor或者其他计算引擎来完成,因此是极为轻量的应用。

5、高度并发

利用分布式集群进行数据流的并行计算,自动分析数据流依赖,实现数据流作业中最大可能的并行化。

6、高吞吐

擅长大数据量的同步,峰值数据吞吐率可达到40M/秒/节点。

7、数据质量和安全保障

提供事务级别的数据同步,确保目标表与原表拥有相同的数据一致性。另外还提供了完整的权限控制机制,用于保证数据的安全。

二、Transporter实例

2.1 案例一

2.1.1 业务需求

现在有两份人员名单,需要将其合并后写入Inceptor。 

TDH中的Transporter_第2张图片 

2.1.2 业务实现

1、为了方便测试,首先将两份数据上传到hdfs的目录下,如下所示 :

TDH中的Transporter_第3张图片

2、新建数据流,进入设计模式。

TDH中的Transporter_第4张图片

3、选择并拖出CSVReader模块并修改Reader参数。

TDH中的Transporter_第5张图片

同样的方法将two.csv文件读进来,如下:

TDH中的Transporter_第6张图片

4、选中转换模块中的union模块,并连接数据源模块与union模块。

TDH中的Transporter_第7张图片

5、拖出TextWriter,并连接转换模块与目标模块

TDH中的Transporter_第8张图片

6、修改TextWriter的参数

TDH中的Transporter_第9张图片

7、完成后,点击右上角的保存按钮进行保存,并进入调试模式。

TDH中的Transporter_第10张图片

如果调试没有问题,此处所有组件图表均为绿色。

TDH中的Transporter_第11张图片

查询数据库中的数据可以发现数据已经入库到对应的表中:

TDH中的Transporter_第12张图片

8、调试无误后点击下面的图表进行发布。

TDH中的Transporter_第13张图片

2.2 案例二

2.2.1 业务需求

查询得到年龄大于24岁的人员名单并将数据导出到csv文件。

2.2.2 业务实现

1、同样的,新建数据源

TDH中的Transporter_第14张图片

2、选择CSVWriter模块并修改参数,如下:

TDH中的Transporter_第15张图片

3、选择过滤模块并编辑参数

TDH中的Transporter_第16张图片

4、选择CSVWriter目标模块并编辑参数

TDH中的Transporter_第17张图片

5、保存并调试,发现数据已经导出到对应的目录中

 

以上就是本文的所有内容了,通过两个简单的实例,大家一定对Transporter有了一个初步的认识,本文到此已经接近尾声了,你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题~

你可能感兴趣的