使用Sqoop将MySQL数据导入到Hadoop

Hadoop的安装配置这里就不讲了。

Sqoop的安装也很简单。

Sqoop的安装与使用 

 

完成sqoop的安装后,可以这样测试是否可以连接到mysql(注意:mysql的jar包要放到 SQOOP_HOME/lib 下):

sqoop list-databases --connect jdbc:mysql://192.168.1.109:3306/ --username root --password 19891231

结果如下

使用Sqoop将MySQL数据导入到Hadoop

即说明sqoop已经可以正常使用了。

 

CentOS安装和配置Hadoop2.2.0 

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)

 

下面,要将mysql中的数据导入到hadoop中。

我准备的是一个300万条数据的身份证数据表:

使用Sqoop将MySQL数据导入到Hadoop

 

先启动hive(使用命令行:hive 即可启动)

 

然后使用sqoop导入数据到hive:

sqoop import --connect jdbc:mysql://192.168.1.109:3306/hadoop --username root --password 19891231 --table test_sfz --hive-import

 

sqoop 会启动job来完成导入工作。

使用Sqoop将MySQL数据导入到Hadoop

使用Sqoop将MySQL数据导入到Hadoop

 

完成导入用了2分20秒,还是不错的。

 

在hive中可以看到刚刚导入的数据表:

使用Sqoop将MySQL数据导入到Hadoop

 

我们来一句sql测试一下数据:

select * from test_sfz where id < 10;

使用Sqoop将MySQL数据导入到Hadoop

可以看到,hive完成这个任务用了将近25秒,确实是挺慢的(在mysql中几乎是不费时间),但是要考虑到hive是创建了job在hadoop中跑,时间当然多。

 

接下来,我们会对这些数据进行复杂查询的测试:

我机子的配置如下:

使用Sqoop将MySQL数据导入到Hadoop

hadoop 是运行在虚拟机上的伪分布式,虚拟机OS是ubuntu12.04 64位,配置如下:

使用Sqoop将MySQL数据导入到Hadoop

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2ff0b69b682e4ec3475d06b2250f8b66.html