zoukankan      html  css  js  c++  java
  • SQOOP 解决import时字段为NULL值的情况

         想必有些朋友刚开始接触sqoop时,在从mysql(或者别的RDBMS)导入数据到hdfs后会发现原来在mysql中字段值明明是NULL, 为什么到hive查询后 where field is null 会没有结果呢,然后通过检查一看  居然NULL值都变成了字段串'null'。

    其实你在导入的时候加上以下两个参数就可以解决了,

    --null-string '\N' 

    --null-non-string '\N' 

    这里要注意一点。 在hive里面。NULL是用N来表示的。你可以自己做个实验 insert overwrite table tb select NULL from tb1 limit 1;

    然后在去查看原文件就可以发现了。

    多提一点,如果在导入后发现数据错位了,或者有好多原来有值的字段都变成了NULL, 这是因为你原表varchar类型的字段中可能含有 等一些特殊字符。

    可以加上

    --hive-drop-import-delims

     转自:https://blog.csdn.net/jxlhc09/article/details/16856873

  • 相关阅读:
    博客诞生感言~
    java 字符串锁
    oracle三种表连接方式
    两张超级大表join优化
    docker安装配置gitlab详细过程
    docker安装应用
    docker安装教程-centos
    JVM参数调优
    java向word中插入Excel附件
    application.properties参数详解
  • 原文地址:https://www.cnblogs.com/javalinux/p/14913625.html
Copyright © 2011-2022 走看看