Sqoop是由Sql To Hadoop简称而来,实际是一个ETL工具,将SQL数据库与NO SQL数据库进行相互数据的倒换。今天我们用SQL、HBase进行数据的倒换测试。
Sqoop网上有许多安装教程,不详述。在Hadoop未启用情况下,Sqoop也能正常工作,理论上它就是一个单机应用。
一、Sqoop建议安装HBase的HMaster节点中,以利于Mysql向Sqoop的数据倒换使用。我们首先用Sqoop连接Mysql测试一下是否安装成功。
sqoop list-databases --connect jdbc:mysql://47.~~.~~.146:3306/yf --username 'root' --password '你的密码'
正常连接成功后,能看到mysql中的数据库。
sqoop eval --connect jdbc:mysql://47.~~.~~.146:3306/yf --username 'root' --password '你的密码' --query "SELECT * FROM USERS WHERE ID='123'"
能够用select*语句查看到数据表的内容。
二、Sqoop从Mysql向HDFS中倒数据表,测试。
我们惊奇的发现sqoop的import命令又启动了一个mapreduce命令。
三、经验。
1、Sqoop本质是一个基于mapduce的单机应用程序。
2、Sqoop主要是用于批量的数据导入,而不能作为实时的数据倒换工具。因为mapreduce的效率实在是不能满足实时的数据通信需要。
3、Sqoop基于多种数据源,只要有LIB JAR,理论上可以支持任何一种数据源。
希望以上文章能帮到您。
更多内容实时更新,请访问公众号。