sqoop1 从sqlserver导出数据到HDFS报错

查看数: 6672 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-1-29 17:35

正文摘要:

sqlserver数据库中,凡是含有datetime类型字段的表,都报一样的错误,不含datetime类型的表则导出成功 环境是: sqoop1.4.6 jdk1.8 sqljdbc42.jar (注,我这里试了下mysql数据库-含有datetime字段,是导出成 ...

回复

yuhaiyang 发表于 2018-1-31 14:12:04
desehawk 发表于 2018-1-29 18:33
那就全表导出啊,select 所有字段不就可以了。不加where,全库导出也没问题啊。使用shell依次执行。

谢谢您的回答
翱翔于天变 发表于 2018-1-30 16:06:32
desehawk 发表于 2018-1-29 18:03
尝试转换下字段类型,例子如下
sqoop import  --connect "jdbc:sqlserver://xxxx:1433;DatabaseName=tes ...

感谢,看了你的评论,又了灵感
desehawk 发表于 2018-1-29 18:33:53
yuhaiyang 发表于 2018-1-29 18:17
....目标是数据库全表导出,然后发现这个错误了

那就全表导出啊,select 所有字段不就可以了。不加where,全库导出也没问题啊。使用shell依次执行。
yuhaiyang 发表于 2018-1-29 18:17:25
desehawk 发表于 2018-1-29 18:03
尝试转换下字段类型,例子如下
sqoop import  --connect "jdbc:sqlserver://xxxx:1433;DatabaseName=tes ...

....目标是数据库全表导出,然后发现这个错误了
yuhaiyang 发表于 2018-1-29 18:15:31
....目标是全表导出,然后发现这个错误了
desehawk 发表于 2018-1-29 18:03:05
本帖最后由 desehawk 于 2018-1-29 18:04 编辑
yuhaiyang 发表于 2018-1-29 17:38
补充下导出命令:sqoop import  --connect "jdbc:sqlserver://xxxx:1433;DatabaseName=test" --username xx ...

尝试转换下字段类型,例子如下
sqoop import  --connect "jdbc:sqlserver://xxxx:1433;DatabaseName=test" --username xxx --password 123456 --query 'SELECT 。。。。。。。 CAST (lastactive AS TIMESTAMP), ... FROM AU_User  WHERE $CONDITIONS'
yuhaiyang 发表于 2018-1-29 17:38:42
补充下导出命令:sqoop import  --connect "jdbc:sqlserver://xxxx:1433;DatabaseName=test" --username xxx --password 123456 --table AU_User --target-dir  hdfs://hadoop1:8020/user/yinhuotong/test06 --m 1   
关闭

推荐上一条 /2 下一条