DataWorks数据集成与开源Sqoop的对比

摘要:阿里巴巴技术专家张雅静为大家带来DataWorks数据集成与开源Sqoop的对比演讲。主要从介绍Sqoop开始谈起,接着详细介绍了DataWorks数据集成与开源Sqoop对比以及注意事项,然后着重说明了DataWorks数据集成并进行了实操演示,最后对全文进行了总结。

本次分享主要围绕以下四个方面:
一、Sqoop简介
二、DataWorks数据集成与开源Sqoop的对比及注意事项
三、DataWorks数据集成的介绍
四、数据集成与Sqoop对比总结

以下是精彩视频内容整理:

一、Sqoop简介

Sqoop是一款开源的数据同步工具,是Hadoop生态环境中数据迁移的首选。
Sqoop即SQL to Hadoop,是一款方便的在传统型数据库(mysql、oracle)与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特点以批处理的方式加快数据传输,提供了很高的并行性能及良好的容错性,发展至今主要演化了二大版本,Sqoop1和Sqoop2。
Sqoop工具是hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive、hdfs、hbase之间数据的相互导入,可以使用全表导入和增量导入。
DataWorks数据集成与开源Sqoop的对比

Sqoop的优势包括以下几方面:
高效可控的利用资源,任务并行度,超时时间。
数据类型映射与转化,可自动进行,用户也可自定义。
支持多种主流数据库,MySQL,Oracle,SQL Server等等。

二、DataWorks数据集成与开源Sqoop对比以及注意事项

1. 处理方式
DataWorks数据集成:底层是DataX进行数据的抽取及加载。数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Writer),并基于此框架设计一套简化版的中间数据传输格式,从而实现任意结构化、半结构化数据源之间数据传输。
Sqoop:Sqoop底层用MapReduce程序实现抽取,转换,加载。Sqoop根据输入条件,生成一个map-reduce的作业,在Hadoop的框架中运行。
2. 支持数据源
数据集成支持的数据源:任意数据源,任意格式,任意位置,任意复杂网络下的高效数据采集传输。具体包括以下几方面:
关系数据库:MySQL,SQL Server,DRDS,POLARDB,HybridDB for MySQL,AnalyticDB for PostgreSQL,AnalyticDB for MySQL 2.0,AnalyticDB for MySQL 3.0,PostgreSQL,Oracle,DM
大数据存储:MaxCompute (ODPS),DataHub,Data Lake Analytics(DLA),Vertica,GBase8a,Hive,Hbase。
半结构化:OSS,HDFS,FTP。
NOSQL:MongoDB,Memcache (OCS),Redis,Table Store (OTS),GDB,Elasticsearch消息队列:LogHub (日志服务)
实时:MySQL Binlog,Oracle (CDC)
而Sqoop是Hadoop和关系型数据库(RDBMS)之间相互迁移的工具。支持Hive,Hbase,MySQL,Oracle。
3. 资源问题
DataWorks数据集成:可以通过开通独享数据集成资源组来解决数据同步过程中资源不足的问题。而Sqoop没有特定的资源划分。
4. 开发模式
DataWorks数据集成提供向导模式和脚本模式。如图所示,可以配置数据来源和数据去向,或者是利用脚本模式配置,而Sqoop提供命令行的模式。
DataWorks数据集成与开源Sqoop的对比

5. 网络环境
DataWorks数据集成网络类型包括经典网络、专有网络(VPC)和本地IDC网络:
经典网络:统一部署在阿里云的公共基础网络内,网络的规划和管理由阿里云负责,更适合对网络易用性要求比较高的客户。IP地址由阿里云统一分配,配置简便,使用方便。
专有网络:基于阿里云构建出一个隔离的网络环境。与在数据中心运行的传统网络相似,托管在VPC内的是私有云服务资源,比如云主机、负载均衡和云数据库,您可以完全掌控自己的虚拟网络,包括选择自有的IP地址范围,划分网段以及配置路由表、网关。专有网络构建了一个隔离的网络环境,您可以自定义IP地址范围、网段、网关等参数。也可以通过VPN或专线VPC以数据中心灵活部署混合云。适用于网络安全性比较高及有一定网络管理能力的用户。
本地IDC网络
而Sqoop是自身构建机房的网络环境。

注意事项

1. 添加安全组和白名单
如果您使用的是ECS自建数据库,则必须添加安全组才能保证数据源连通性正常。如果您使用的是RDS数据源,必须添加白名单才能保证数据连通性正常。为保证数据库的安全稳定,在开始使用数据库的实例前,您需要将访问数据库的IP地址或IP段加到目标实例的白名单或安全组中。
如何添加安全组?
如果您的ECS上的自建数据源同步任务运行在自定资源组上,需要给自定资源组机器授权,将自定义机器内/外网的IP和端口添加到ECS安全组上。如果您的ECS上的自建数据源运行在默认的资源组上,需要给默认的机器授权。根据您的ECS的机器区域来选择添加您的安全组内容,例如您的ECS是华北2,安全组便添加华北2(北京):sg-2ze3236e8pcbxw61o9y0和1156529087455811内容,并且只能在华北2添加数据源。

添加安全组首先要登录云服务器ECS的管理控制台。然后进入网络和安全——>安全组页面,选择目标区域。
DataWorks数据集成与开源Sqoop的对比

找到要配置授权规则的安全组,单击操作列下的配置规则。
DataWorks数据集成与开源Sqoop的对比

填写添加安全组规则对话框中的配置。如放行端口和授权对象等。
DataWorks数据集成与开源Sqoop的对比

如何添加白名单?根据工作空间所在的区域选择相应的白名单。目前,部分数据源有白名单的限制,需要对数据集成的访问IP进行放行。例如,RDS、MongoDB和Redis等常见的数据源,需要在相应的控制台对下列IP进行开放。通常添加白名单有以下两种情况:
(1)同步任务运行在自定资源组上,需要给自定资源组机器授权,将自定义机器内/外网IP添加数据源的白名单列表。
(2)同步任务运行在默认资源组上,需要给底层运行机器授予访问权限,根据您选择DataWorks的区域来填写您需要添加的白名单,内容如上表所示。
进入RDS控制台,在页面左上角,选择实例所在地域。找到目标实例,单击实例ID。在左侧导航栏中选择数据安全性。
DataWorks数据集成与开源Sqoop的对比

2. 数据集成的网络连通
数据同步之前需要打通数据库网络问题,可以通过高速通道打通跨地域、跨用户的VPC、内网或者物理专线连接实现云下的IDC接入云上。

三、 DataWorks数据集成介绍


阿里云重要的PaaS平台产品,为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。
DataWorks支持多种计算和存储引擎服务,包括离线计算MaxCompute、开源大数据引擎E-MapReduce、实时计算(基于Flink)、机器学习PAI、图计算服务Graph Compute和交互式分析服务等,并且支持用户自定义接入计算和存储服务。DataWorks为您提供全链路智能大数据及AI开发和治理服务。本文主要介绍数据集成服务,其他功能不一一介绍。
DataWorks数据集成
DataWorks数据集成与开源Sqoop的对比

数据集成是稳定高效、弹性伸缩的数据同步平台,致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力;包括20+种异构数据源,支持经典/专有等网络环境,同步任务调度和监控报警,支持多种同步方式。
DataWorks数据集成与开源Sqoop的对比

离线(批量)的数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Writer),并基于此框架设计一套简化版的中间数据传输格式,从而实现任意结构化、半结构化数据源之间数据传输。
DataWorks数据集成与开源Sqoop的对比

独享资源组
什么是独享资源组?
使用独享资源组可以解决数据同步过程中的资源不足问题。不仅可以隔离用户间的资源使用,也可以隔离不同工作空间任务的资源使用。此外,独享资源也支持灵活的扩容、缩容功能,可以满足资源独享、灵活配置等需求。独享资源组可以访问在同一地域下的VPC数据源,同时也可以访问跨地域的公网RDS地址。
怎么购买?
DataWorks独享资源采用包年包月的方式购买,您可以通过产品详情页或新增独享资源两个入口进行购买:产品详情页入口进入DataWorks产品页面,单击独享资源组,即可跳转至购买页面。
新增独享资源入口:登录DataWorks控制台。单击左侧导航栏中的资源组列表,默认进入独享资源组页面。如果您在该地域未购买过独享资源,单击新增独享资源组。在新增独享资源对话框中,单击订单号后的购买,即可跳转至购买页面。
DataWorks数据集成与开源Sqoop的对比

进入购买页面后,请根据实际需要,选择相应的地域、独享资源类型、独享调度资源、资源数量和计费周期,单击立即购买。

在资源组列表——>独享资源组页面,单击相应资源后的修改归属工作空间,绑定独享数据集成资源归属的工作空间。
配置数据集成任务时,将默认资源组配置为需要的独享数据集成资源。通过向导模式配置任务时,在通道控制——>任务资源组下拉框中,选择相应的独享数据集成资源。脚本模式时,配置任务资源组下拉框中选择独享数据集成资源。
DataWorks数据集成与开源Sqoop的对比

在您的任务没有把相应的独享资源组占满的前提下,可以保证您的任务及时得到响应。具备打通您的VPC、IDC的能力。而且,与默认资源组相比,支持更多类型的数据源。可以被多个DataWorks工作空间共享,实现资源的复用。
特别说明,如果已经打通本地IDC和阿里云专有网络,您可以使用数据集成资源同步任务。请购买独享数据集成资源后,提交工单进行处理。独享数据集成资源组不支持跨区域的VPC数据库同步。如果需要在独享数据集成资源组上进行添加路由等操作,请提交工单进行申请。使用数据集成独享资源组时,请保证数据源自身所在机器可以被该资源组绑定的VPC访问。如果有安全拦截,请对相应的白名单放行,即在数据源侧的白名单添加该资源组绑定的VPC网段。

数据集成-全程可视化
如图,从添加数据源到创建数据同步的节点,再到运维中心的监控,都是可以全程监控的。
DataWorks数据集成与开源Sqoop的对比

四、总结

DataWorks数据集成与开源Sqoop的对比

DataWorks数据集成和开源Sqoop都是解决异构环境的数据交换问题,都支持Oracle、Mysql、HDFS、Hive互相转换,对数据库的支持都是插件式的,对新增的数据源类型只需要开发一个插件就行了,Sqoop是工具,数据集成是产品,和DataWorks工作流无缝对接,构成一体化数据加工链路。DataWorks和Sqoop都支持离线数据同步,数据集成还支持实时同步,两者都支持全量增量的数据同步;DataWorks底层是DataX进行数据的抽取及加载,Sqoop底层是MapReduce程序实现抽取,转换,加载;DataWorks支持关系型数据库、大数据存储,半结构化,NOSQL,消息队列等,Sqoop是Hadoop和关系型数据库(RDBMS)之间相互迁移的工具;DataWorks支持独享资源组/自定义资源组,Sqoop没有特定的资源划分;DataWorks支持向导模式/脚本模式,Sqoop支持命令行模式;DataWorks支持经典网络、专有网络、本地IDC,Sqoop是自身构建机房的网络环境。

欢迎加入“MaxCompute开发者社区2群”,点击链接MaxCompute开发者社区2群申请加入或扫描二维码
DataWorks数据集成与开源Sqoop的对比

上一篇:SpringBoot基于数据库实现简单的分布式锁


下一篇:javaer to go之mysql操作