作为一个运营人员,工作中经常性地需要对大量业务数据进行分析,使用阿里云的MaxCompute可以非常方便的进行海量数据的处理。基于工作的特殊性,日常处理的都是CSV/TXT等碎片化的文件(比如用OSS存储的生产数据),如何将大文本文件写入到MaxCompute(原ODPS)是一件很头疼的事情。好在,阿里云大数据开发套件提供了非常强大的数据同步的工具。
近期体验了一下阿里云的数据同步工具,发现非常简单易用,同时又十分强大。作为非技术同学,借助文档,基本实现了从OSS到ODPS以及从OSS到本地自建FTP的数据同步,期间也碰到了许多问题。本文主要介绍自己作为一个小白用户,在使用过程中遇到的问题以及解决办法。
要解决的问题:OSS对象存储文件定时同步到ODPS
应用到的阿里云产品:OSS 数据同步组件 MaxCompute
1. 阿里云的数据同步为向导模式和脚本模式两种方式。向导模式是可视化操作,非常方便,不过有些类型的数据同步不支持。脚本模式通过Json脚本实现,功能更强大。OSS数据同步到ODPS,两种方式是均支持的。分为数据源读取、数据传输、写入目标数据三部分。具体操作,先添加数据源后,按照向导可一步步操作,不在赘述。
2. 数据同步的调度任务,无法自动识别OSS是否有文件增加,因此,如果OSS中的Object是不断增加的,调度任务需要设定为分钟或者小时级别的周期调度。
3. OSS的读取支持形如example*的通配符匹配:
同时,OSS的文件名可以用日期时间命名,这样调度任务可以通过时间参数来读取最新写入的Object。
4. 调度任务执行的时候,数据源Object必须已经存在,可以调整时间参数的先后关系,例如:
该例子是延时一小时的。
5. 阿里云的文档非常详尽,基本可能遇到的问题通过查找文档都可以解决。数据同步文档