MaxCompute通过DDL建表时,复制MySQL的建表语句,报错“根据DDL创建表模型失败,不能通过DDL模式修改表名”
在使用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
);
根据你提供的信息,我能够初步分析出可能的原因是你在使用MaxCompute通过DDL建表时,在建表语句中修改了表名。但是MaxCompute在创建表模型时,无法识别DDL语句中修改表名的操作。
如果你需要在MaxCompute中创建表格,可以尝试使用MaxCompute建表语句进行创建,而不是直接复制MySQL的建表语句。
另外,如果确实需要修改表名,可以先在MaxCompute中创建一张空表,然后使用MaxCompute的INSERT INTO语句将MySQL中的数据导入到MaxCompute中的这张空表中,再删除原有的表格。这种方式虽然比较麻烦,但是可以解决你的问题。
向导模式创建时输入的表名需要和ddl语句里的表名一致。 此答案整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。