咨询热线15520475578
首页 > 管理知识 > 数据分析 > 大数据开发平台如何进行数据同步服务?数据分析平台推荐

大数据开发平台如何进行数据同步服务?数据分析平台推荐

作者: 时间: 2019-10-21标签:

数据同步是大数据平台搭建中非常重要的基础环节,大数据平台之所以有优势,就是必须要具有对实时或准实时更新的增量数据连同存量数据具有在线分析能力,数据同步方案制订要考虑很多因素,从外网到内网由于要通过网闸,是很难做到实时同步的,内网间的业务系统要尽可能做到和大数据平台之间是增量同步。同步还要考虑到源业务系统是否需要进行数据接口改造,最好是对源业务系统是无侵入式的。我根据这些年的实践经验,推荐下面几种常用的同步的方案和工具。


大数据开发平台如何进行数据同步服务?数据分析平台推荐


数据同步可以用以下工具实现:

1、Sqoop

Apache Sqoop 是一种工具,用于在 Apache Hadoop 和外部数据存储(如关系数据库,企业数据仓库)之间高效传输批量数据。Sqoop 用于将数据从外部数据存储导入 Hadoop Hdfs 或 Hive 和 HBase 等相关 Hadoop 生态系统。同样,Sqoop 还可用于从 Hadoop 或其生态系统中提取数据,并将其导出到外部数据存储区,如关系数据库、数据仓库。Sqoop 适用于 Oracle,MySQL,Postgres 等关系数据库。

2、Datax

DataX 是阿里开发的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。DataX 本身作为离线数据同步框架,采用 Framework + plugin 架构构建。将数据源读取和写入抽象成为 Reader/Writer 插件,纳入到整个同步框架中。

3.kettle

Kettle 是一款开源的 ETL 工具,实现对各种数据源读取,操作和写入数据,Kettle 无需安装解压即可使用,可通过客户端进行配置和执行作业。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。

4.teamface

teamface是基于日志的逻辑复制软件,可实时捕获源端数据库日志的增量变化,并将数据变化实时地传输到目标端,在目标端数据库应用这些数据变化,从而保持目标端数据库和源端数据库的一致性。由于捕获的仅为增量数据,同时在传输过程中配置了数据压缩功能,减少网络带宽的占用,可以将远端的数据同步时差控制到最低。基于事务日志的数据变更,能够最低限度的减少对源库的性能影响。能够在线管理数据,可搭建独立数据库避免数据丢失,

小结

那我们该如何选择合适同步的工具。大数据平台是与 Hadoop 集群相挂钩,在离线同步一般选择 Sqoop,Sqoop 从一开始就是为大数据平台的数据采集业务服务,而且作为 Apache 顶级的项目,Sqoop 比起 Datax 更加可靠,如果涉及阿里自身的数据库系列选择 Datax 是一个不错的选择。在实时同步数据,一般采用 Kafka 作为中间组件,跟 Canal 结合实现 MySQL 到 Hive 增量数据同步。kettle 和 Informatica PowerCenter 一般在建设数仓中使用,通过客户端配置 ETL 任务定制。如果是要求是不侵入源业务系统,则可以考虑使用teamface系统工具。

点击立即申请试用账号及获取行业解决方案!

Loading