将mysql数据导入使用sqoop导入到hive出现的问题以及解决方案


第一个问题 :提示Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

应该是环境问题 先是在sqoop的中 sqoop-env.sh加入

export HIVE_CONF_DIR=/opt/installs/hive/conf 没效果

又考虑是jar包的问题 把hive_lib下的 hive-common-3.1.2.jar拷贝到sqoop_lib  问题解决

第二个问题:

:java.lang.ClassNotFoundException:org.apache.commons.lang.StringEscapeUtils
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 13 more

解决方案: 将hive中的一个jar包(commons-lang-2.6.jar)导入到sqoop中

cp /opt/installs/hive/lib/commons-lang-2.6.jar /opt/installs/sqoop/lib/

第三个问题  java.sql.SQLException: Zero date value prohibited

这个错误通常出现在你尝试将一个无效的日期(例如 '0000-00-00')插入到数据库中

在 jdbcUrl 中设置对应的对策

driver-url=jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=CONVERT_TO_NULL

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值