分享

使用sqoop从hdfs将数据导入mySQL卡在100%不执行

本帖最后由 smartleon 于 2015-7-21 15:24 编辑

使用sqoopmySQL数据库中导入数据测试
         场景:数据库已经存在的数据为
1,zhangsan@163.com,6000,0,2014-02-20
2,lisi@163.com,2000,0,2014-02-20
3,lisi@163.com,0,100,2014-02-20
4,zhangsan@163.com,3000,0,2014-02-20
5,wangwu@126.com,9000,0,2014-02-20
6,wangwu@126.com,0,200,2014-02-20
第一列是主键。第二次向数据库相同的表中再导入这些数据,任务mapper 100%卡住了。

sqoop1_1.png
sqoop1_2.png
sqoop1_3.png
我的想法是主键的问题,但是我觉得在插入第一条数据的时候就应该提示错误~但是只是卡住,不动。也不报异常。请懂的各位赐教~

======================================分割线========================================
我将表id的主键属性取消后,又执行了一次任务:总共有两次导入任务再执行,最后的状态请看图:
sqoop1_4.png
我的问题是,能不能使用sqoop(不进行编程)写语句来完成从HDFS 指定某几列数据导入到mySQL数据库中?(我知道反过来可以,从mySQL数据可以指定某几列几条导入HDFS)


已有(6)人评论

跳转到指定楼层
leo_1989 发表于 2015-7-21 17:13:30
还真没发现这种,楼主是什么应用场景
回复

使用道具 举报

smartleon 发表于 2015-7-21 20:38:01
leo_1989 发表于 2015-7-21 17:13
还真没发现这种,楼主是什么应用场景

我自己部署了7个节点的分布式的环境,只是为了学习。正好他讲使用sqoop导入导出数据,我自己想到的,如果关系型数据库里的表设置了主键,那肯定很多数据导不进去了。
还有就是怎么能解决这个问题~接触的少,望指教
回复

使用道具 举报

Alkaloid0515 发表于 2015-7-21 23:14:55
smartleon 发表于 2015-7-21 20:38
我自己部署了7个节点的分布式的环境,只是为了学习。正好他讲使用sqoop导入导出数据,我自己想到的,如果 ...

sqoop还没有发现。有hdfs导入mysql一般都是小数据量,这个场景不是太多。所以自己写mapreduce应该问题不大。
也没有发现sqoop有这样的功能,当然也可能是才疏学浅。

至于主键问题,楼主可以尝试在导入数据完毕,在加上。
或则自己自增为主键,其它非主键
回复

使用道具 举报

smartleon 发表于 2015-7-22 09:18:36
Alkaloid0515 发表于 2015-7-21 23:14
sqoop还没有发现。有hdfs导入mysql一般都是小数据量,这个场景不是太多。所以自己写mapreduce应该问题不 ...

我先接着学习视频的内容吧,争取最近把sqoop的官方文档看了,应该会有答案~至于你说的先去掉主键再加上的想法,我觉得不太好,因为如果不能选择某些数据导入到mySQL数据库的话,这样做最后导致还得去手动吧主键改为不冲突才可以。你说用自增,我觉得还是之前的问题,如果不能选择某些列导入数据库,这个应该也是不能做到的。多多交流~谢谢回复
回复

使用道具 举报

feilong 发表于 2016-8-19 10:37:37
问题解决了吗?怎么解决的,我这边也出现了相同的问题,请指教
回复

使用道具 举报

smartleon 发表于 2016-8-19 21:46:23
feilong 发表于 2016-8-19 10:37
问题解决了吗?怎么解决的,我这边也出现了相同的问题,请指教

你说的是100%阻塞问题? 我的原因是mySQL设置了主键,而导出的数据第一列正好落在mySQL的第一列上,我两次导出的数据是相同的所以在mySQL端插入的时候与“主键唯一”冲突,就阻塞了,但是没有报错,也许是日志设置的问题,最后我把MySQL表的主键给取消了,之前阻塞的任务就顺利执行了。
============================
至于后面的使用sqoop导出HDFS某几列的问题,应该只能先通过Hive把需要导出的那几列数据提取出来,然后再导出,我目前只找到这种方法,没有和hbase结合考虑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条