在导入hive的时候,如果数据库中有blob或者text字段,会报错,解决方案在sqoop笔记中。在将数据由Oracle数据库导入到Hive时,发现带有clob字段的表的数据会错乱,出现一些字段全为NULL的空行。 由于在项目中CLOB字段没有实际的分析用途,因此考虑将CLOB字段去掉。 同时,为了防止CLOB字段产生一些问题,因此将HIVE中CLOB字段禁用,禁用的方式如下: [Hadoop@master sqoop-1.4.5]$ cd $SQOOP_HOME/conf [hadoop@master conf]$ vi oraoop-site.xml 将以下属性的注释去掉,并且将value改为true oraoop.import.omit.lobs.and.long true If true, OraOop will omit BLOB, CLOB, NCLOB and LONG columns during an Import.
有些表中虽然有clob字段,但是不能排除掉,因为其他字段使我们所需要,因此在导入的时候采用指定--columns的方式来进行导入 sqoop import --hive-import --hive-database test --create-hive-table --connect jdbc --username user--password user --bindir //scratch --outdir /Java --table aaa --columns "ID,NAME" -m 1 --null-string '\N' --null-non-string '\N'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。