ODPS中令人困惑的"\N"

    在使用ODPS上的表时,很可能这个表中的数据是采用某些同步工具从其他的数据源中同步而来的,而当你想过滤某个字段field_name中值为null的数据时,往往会在where条件中按照 where field_name is not null来过滤field_name中的null值。

    但是当你按照如上方式过滤后,重新审视过滤后的数据你会发现其实情况并不像你想的一样:过滤后的filed_name字段中虽说不包括null值,但是会出现一些奇怪的\N,这时该怎么办呢?

    解决方案:一些同步工具在向ODPS中同步数据源(例如MySQL数据库)中的数据时,会将一些null字段给赋值为"\N",而这些字段在ODPS的表中很容易被认为是null而忽略,这将影响最终的数据质量;

    例如:若简单的在where条件中按照 where field_name is not null来过滤field_name中的null字段,可能最终的field_name字段中会包括"\N"的情况。

    因此,若希望在ODPS表中过滤某个字段中的null数据,可以按照以下方式:

    where (field_name is not null or field_name <>'\\N')

    过滤后field_name字段中就不会存在null或者\N的数据了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • 一. Java基础部分.................................................
    wy_sure阅读 9,279评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,217评论 18 399
  • .数据库 数据库的发展: 文件系统(使用磁盘文件来存储数据)=>第一代数据库(出现了网状模型,层次模型的数据库)=...
    小Q逛逛阅读 4,603评论 0 2
  • 九月九祝天下有情人
    顾李人阅读 1,222评论 0 1