请问创建表,CREATE TABLE aa (type BIGINT COMMENT 'a') PARTITIONED BY (time DATETIME COMMENT 'b') LIFECYCLE 100000,报错FAILED: ODPS-0130151:Illegal data type - partition column 'time' type 'datetime' is not allowed.怎么办?
这个错误提示是因为分区列(partition column)的数据类型不支持datetime类型,分区列只支持ODPS所支持的数据类型如string、int、bigint等。
为了解决这个问题,可以考虑把分区列更改为其它支持的数据类型,比如string类型。若是需求一定要datetime类型,则可以通过将datetime转化为string类型实现。例如,您可以将datetime类型的时间转为字符串类型(string)的形式: yyyy-mm-dd hh:mm:ss
。
以下是一个示例的创建表语句,将分区列time更改为string类型:
CREATE TABLE table_name
(
column1 type1,
column2 type2,
...
)
PARTITIONED BY (time string);
看起来是因为DATETIME不是ODPS支持的分区数据类型之一,所以阿会导致创建表失败。ODPS支持的分区数据类型如下:
STRING
BIGINT
BOOLEAN
DOUBLE
如果你要解决这个问题,可以将分区列的数据类型修改为ODPS支持的数据类型之一。 如果需要按照日期时间分区,我建议你可以使用STRING类型,并在分区列上创建分区。。
数据类型非法-分区列“time”类型“datet”,时间这一块不能用time类型,用date类型或者其他官方合法类型
你好,报错很明显了time这个字段你将其设置为datetime类型了,这个是不支持的
您好,问题在于type,time 是系统预留字段。可以这样解决:不要使用系统保留字段,改为s_type,s_time。可以参考https://help.aliyun.com/document_detail/27872.html。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。