开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

MaxCompute通过DDL建表时,复制MySQL的建表语句,报错“根据DDL创建表模型失败,不能

MaxCompute通过DDL建表时,复制MySQL的建表语句,报错“根据DDL创建表模型失败,不能通过DDL模式修改表名”

展开
收起
十一0204 2023-04-11 22:18:07 492 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在使用DataWorks中MaxCompute通过DDL建表时,如果复制MySQL的建表语句,可能会出现“根据DDL创建表模型失败,不能通过DDL模式修改表名”的错误。

    这是因为MaxCompute建表时,不能通过DDL模式修改表名,需要在建表语句中直接指定表名。因此,您需要修改建表语句,将表名直接指定在建表语句中,而不是使用MySQL中的“CREATE TABLE IF NOT EXISTS table_name”这样的语句。

    例如,如果您要在MaxCompute中创建一个名为“test_table”的表,应该使用如下的建表语句:

    CREATE TABLE test_table (
      column1 string,
      column2 int
    );
    
    2023-04-28 08:07:07
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据你提供的信息,我能够初步分析出可能的原因是你在使用MaxCompute通过DDL建表时,在建表语句中修改了表名。但是MaxCompute在创建表模型时,无法识别DDL语句中修改表名的操作。

    如果你需要在MaxCompute中创建表格,可以尝试使用MaxCompute建表语句进行创建,而不是直接复制MySQL的建表语句。

    另外,如果确实需要修改表名,可以先在MaxCompute中创建一张空表,然后使用MaxCompute的INSERT INTO语句将MySQL中的数据导入到MaxCompute中的这张空表中,再删除原有的表格。这种方式虽然比较麻烦,但是可以解决你的问题。

    2023-04-15 15:44:04
    赞同 展开评论 打赏
  • 意中人就是我呀!

    向导模式创建时输入的表名需要和ddl语句里的表名一致。 6adb90638fc17a18ac1d8b10a11db3ac.png此答案整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-04-12 10:06:35
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载

    相关镜像