DataWorks离线同步如何处理表列名是关键字导致同步任务失败的情况?

DataWorks离线同步如何处理表列名是关键字导致同步任务失败的情况?

展开
收起
wenti 2023-02-27 14:03:21 225 分享 版权
2 条回答
写回答
取消 提交回答
  • 问题场景: 进行同步任务时,需要同步的表的列名是关键字,导致同步任务失败。解决方案:关键字需要添加转移符,向导模式配置任务请通过脚本模式配置任务,在column配置中手动添加转移符。MySQL的转义符为关键字。 Oracle和PostgreSQl的转义符为"关键字"。 SQlServer的转义符为[关键字]。以MySQL数据源为例:执行下述语句,新建一张表aliyun。create table aliyun (table int ,msg varchar(10)); 执行下述语句,创建视图,为table列取别名。create view v_aliyun as select table as col1,msg as col2 from aliyun;说明table是MySQL的关键字,在数据同步时,拼接出来的代码会报错。因此需要通过创建视图,为table列起别名。不建议使用关键字作为表的列名。通过执行上述语句,为有关键字的列取列名。在配置同步任务时,选择v_aliyun视图代替aliyun表即可。——该回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-02-27 20:36:44
    赞同 展开评论
  • 月移花影,暗香浮动

    在DataWorks离线同步任务中,如果表列名是关键字,会导致同步任务失败。可以通过以下步骤解决:

    1、在源端表中,将关键字列名改为非关键字,如将“select”改为“sel_ect”;

    2、在DataWorks离线同步任务中,将源端表中的列名映射到目标端表中的列名,如将“sel_ect”映射为“select”;

    3、重新执行DataWorks离线同步任务,即可完成同步。

    2023-02-27 14:14:11
    赞同 展开评论

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

收录在圈子:
+ 订阅
还有其他疑问?
咨询AI助理