利用Sqoop将数据从MySQL到HDFS、从MySQL到HIVE

什么是Sqoop?

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
摘自百度百科

从MySQL到HDFS

sqoop import --connect jdbc:mysql://<主机名称>:3306/<数据库名称> --username <用户名>--password <密码> --table <表名> --warehouse-dir=<导入HDFS的文件夹地址>

例子:

[root@nn ~]# sqoop import --connect jdbc:mysql://dn2:3306/training --username moni--password 123456 --table cityByCountry --warehouse-dir=/user/hive/warehouse 

之后会出现一个MaReduce的作业,当执行完就可以在HIVE中的default库上可以看到。
注意:在导入时可能会出现permission denied的错误,在sqoop前面添加sudo -u <导入hdfs文件夹的所属人>,我这里是文件所属人是hive,所以sudo -u hive。

从MySQL到HIVE表

 sudo -u hive sqoop import --connect jdbc:mysql://<主机名称>:3306/<数据库名称> --username <用户名> --password <密码>--table <表名称> --hive-import --hive-database <导入数据库>

例子:

 [root@nn ~]# sudo -u hive sqoop import --connect jdbc:mysql://dn2:3306/movielens --username moni--password 123456 --table user --hive-import --hive-database movielens
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值