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

请问创建表报错FAILED: ODPS-0130151怎么办?

请问创建表,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.怎么办?

展开
收起
felix@ 2023-03-04 12:22:48 843 0
5 条回答
写回答
取消 提交回答
  • 坚持这件事孤独又漫长。
    • 这个错误提示是因为分区列(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);
    
    2023-03-04 23:56:43
    赞同 展开评论 打赏
  • 看起来是因为DATETIME不是ODPS支持的分区数据类型之一,所以阿会导致创建表失败。ODPS支持的分区数据类型如下:

    STRING
    BIGINT
    BOOLEAN
    DOUBLE
    

    如果你要解决这个问题,可以将分区列的数据类型修改为ODPS支持的数据类型之一。 如果需要按照日期时间分区,我建议你可以使用STRING类型,并在分区列上创建分区。。

    2023-03-04 22:58:02
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    数据类型非法-分区列“time”类型“datet”,时间这一块不能用time类型,用date类型或者其他官方合法类型

    2023-03-04 22:43:58
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    你好,报错很明显了time这个字段你将其设置为datetime类型了,这个是不支持的

    2023-03-04 19:39:17
    赞同 展开评论 打赏
  • 今天也要加油吖~

    您好,问题在于type,time 是系统预留字段。可以这样解决:不要使用系统保留字段,改为s_type,s_time。可以参考https://help.aliyun.com/document_detail/27872.html。

    2023-03-04 12:34:01
    赞同 展开评论 打赏

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

相关产品

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

    更多
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载
    大数据&AI实战派 第2期 立即下载