数据同步
数据上传到 MaxCompute 过程中相关问题
1. 如何跨 region 迁移MaxCompute 相关的业务流程以及表数据?
DataWorks 迁移可以使用迁移助手。
MaxCompute 表数据迁移有四个方法:
- 用 DataWorks 的数据集成去做数据同步。
- 用 MaxCompute 的 insert overwrite 方式。
- 用 MaxCompute 的 tunnel sdk 方式解决。
- 使用 CLONE TABLE。
2. DataWorks调度依赖关系中,两个不同业务流程的节点如何依赖?
比如我们有两个业务流程 A 和 B,可以让 B 业务流程首个节点依赖A 业务流程的最后一个节点。
3. 数据源连通性测试失败如何解决?
当需要新增数据源时,首先要确认自己的数据源类型、网络类型、是否支持测试连通性。当新增数据源无法支持测试连通性时,可以尝试用独享资源组来解决数据集成问题。具体可以参考官方文档。
4. 数据源配置中数据过滤条件如何填写?
数据过滤是同步数据的筛选条件,可以通过 SQL 语法填写 where 过滤语句,一般都是通过日期字段来删选数据。DataWorks 的参数配置功能可以满足业务场景的需求,目前参数分为系统参数和自定义参数(推荐)两大类。调度参数可参考官方文档。
5. 开发的数据处理脚本能否在不同地区项目空间迁移?
跨项目克隆只能同账号同 region,所以不同地区之间可以使用项目备份恢复来完成。 可参考官方文档操作。
6. DataWorks中如何跨业务流程依赖?
通过节点方式解决,下游业务流程的第一个节点依赖上游业务流程的最后一个节点。
7. 请问 Tunnel 可以上传 json 格式的数据到 MaxCompute 表吗?
可以把 json 文件作为一个整体的字段来进行上传,然后在 MaxCompute 进行拆分,或者利用 MaxCo mpute 内建函数及 UDTF 转换 json 格式日志数据。可以参考官方文档。
8. DataWorks 业务流程中,根据业务需求进行节点连接之后自动解析上下游是否会发生错误?
不会,在调度系统中,每一个工作空间中默认会创建一个project name_root 节点作为根节点。如果本节点没有上游节点,可以直接依赖根节点。依赖属性中配置节点的上游依赖,表示即使当前节点的实例已经到定时时间,也必须等待上游节点的实例运行完毕,才会触发运行。
9. MaxCompute 使用 Tunnel 命令上传 CSV 时会被拆分成多列怎么处理?
如果描述字段中本身有逗号的话,建议转换数据的分隔符为其他符号,即修改 csv 文件的默认分隔符为其他分隔符。再通过-fd 指定为其他分隔符进行上传。
10. 如何进行增量数据同步到 MaxCompute?
增量同步可以使用 DataWorks 数据集成配置完成,可以参考本篇实践内容。
11. Tunnel上传数据的时候报错信息如下:You cannot complete the specified operation under the current upload or download status
错误原因:Session 过期或者已经 Commit 过,需要重新创建 Session 上传。Tunnel 上传时每个Session 的生命周期是一天,如果源表数据太大,导致 Session 超时任务失败时,建议将源表拆分成 2 个任务执行。
12. 如何使用 Clone table 实现同 region 不同账号之间的 MaxCompute的数据迁移?
使用 Clone table 进行数据迁移操作,命令格式为 CLONE TABLE
<[src_project_name.]src_table_name> [PARTITION(spec), ...]TO
<[dest_project_name.]desc_table_name> [IF EXISTS (OVERWRITE | IGNORE)] ;
>>快来点击免费下载《阿里云MaxCompute百问百答》了解更多详情!<<