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

请教个大数据计算MaxCompute 问题 我往表里写数据的时候字符串类型(中文), 为啥不报错啊?

请教个大数据计算MaxCompute 问题 我往表里写数据的时候 字符串类型(中文), 写成bigint, 直接给我存成0,1了 为啥不报错啊?这种隐式转换也是不支持的吧?6eddcb7f345b63ff773027c560761c5e.png

展开
收起
真的很搞笑 2024-01-16 13:17:24 82 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在MaxCompute中,字符串类型和bigint类型的数据是完全不同的数据类型。当您将一个字符串类型的数据写入到bigint类型的列中时,MaxCompute会尝试将该字符串转换为数字类型。

    对于中文字符,由于它们无法直接转换为数字,因此MaxCompute会将其转换为对应的Unicode编码值。在这种情况下,中文字符"0"的Unicode编码值为48,而中文字符"1"的Unicode编码值为49。因此,当您将中文字符"0"或"1"写入到bigint类型的列中时,MaxCompute会将其转换为对应的数字48或49。

    虽然这种隐式转换不会报错,但可能会导致数据丢失或混淆。因此,建议您在创建表时确保列的数据类型与实际存储的数据类型相匹配,以避免此类问题的发生。如果您已经遇到了这个问题,可以考虑使用其他适合存储中文字符的数据类型,如VARCHAR或STRING。

    2024-01-16 14:17:30
    赞同 展开评论 打赏
  • 和动态分区任务,回收站产生冲突了,如果这个表的回收站数据可以删的话,执行一下这个,purge table dwd_volcano_xhs_delivery_effect_h,应该可以绕过 ,此回答整理自钉群“MaxCompute开发者社区2群”

    2024-01-16 13:51:20
    赞同 展开评论 打赏

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

相关产品

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

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