数加使用自定义调度资源进行数据同步

数加使用自定义调度资源进行数据同步

数加数据同步的工具

众所周知数加的数据是存储在MaxCompute(原名:ODPS)上,目前数加上所有的数据同步都是基于datax插件,通过datax插件可以在不同的数据源之间同步,常用的数据源有SFTP,Mysql,MaxCompute. datax已经开源了,但是数加使用的版本跟开源的版本略微有点不一样,参考资料: 开源版本 数加版本

什么是自定义调度资源

数加提供的数据同步工具也是基于datax,且他们有很多的机器(在杭州ECS)专门用来运行datax,把这部分机器资源叫做默认调度资源;相对于默认调度资源,运行在我们(用户)的机器上的调度资源叫做自定义调度资源.

为什么需要使用自定义调度资源

目前数加的默认调度资源都是在杭州ECS,而我们的大部分数据回流需要回流到北京机房或者是华北2区(和北京机房有专线通道)的ECS上,如果直接使用默认调度资源会出现datax写数据的时候是跨机房的(从杭州的ECS到北京ECS或北京机房这块目前是没有VPC专线通道的)走公网,网络不那么稳定,从而导致同步速度慢,甚至网络抖动导致任务失败.因此我们需要在北京的ECS上搭建一些调度资源(目前是2台ECS,4核16G)来解决这个问题,这样datax在从MaxCompute导数据到北京机房或者北京ECS的时候就可以通过内网的方式进行数据写入,提高速度和稳定性;聪明的你一定发现了:datax在抽取数据的时候是跨机房的,也就是数据从MaxCompute到datax的时候是跨机房的.是的没错,但是MaxCompute提供了一个VPC连接服务地址,而且还是免费使用,这样就能有效提高整个同步任务的速度和稳定性.

如何使用自定义调度资源进行数据同步

  1. 添加自定义调度资源 (对于大部分同学不需要操作,因此放在后面说明)
  2. 添加内网数据源 :项目管理员操作,和添加其他数据源一样,只是对应的地址换成内网地址,这里不需要测试连接,因为测试连接会失败[原因自己想想],直接保存.
  3. 新建或修改同步任务 : 目前通过可视化界面的任务无法找到对应的表(原因跟第2点的测试一样),所以目前只能转化成脚本模式https://help.aliyun.com/document_detail/49808.html?spm=5176.doc47677.6.568.mnDS29,然后需改ODPS端的`"odpsServer": "http://odps-ext.aliyun-inc.com/api",

        "tunnelServer": "http://dt-ext.nu16.odps.aliyun-inc.com",` 添加这两个是为了datax在连接MaxCompute的时候走vpc通道.如果没有这两个,则添加这里是因为我们要把数据导到北京因此使用这两个地址,如果是其他地方,请参考MaxCompute的[连接服务地址](https://help.aliyun.com/document_detail/34951.html?spm=5176.doc27989.2.7.DxwUOY "连接服务地址") 
  4. 修改任务的资源调度: 由于数加数据同步默认使用默认调度资源,因此我们需要修改调度资源,如下图数加使用自定义调度资源进行数据同步选择对应的自定义资源, 修改后需要重新补数据或测试运行才能使用自定义调度资源,修改之前生成的实例还是使用默认调度资源,这个设计不知道数加的产品是出于什么考虑,我是感觉有点怪怪的.

如何添加自定义调度资源

请自行查看数加的官方文档新增自定义调度资源

上一篇:http缓存控制


下一篇:Sqlserver 查询最新修改过的表、过程和视图等