http://blog.itpub.net/28929558/viewspace-1204443
环境:
系统 | Red hat linux 6.4 |
Hadoop版本 | 1.2.1 |
Sqoop版本 | 1.4.4 |
Mysql数据库版本 | 5.6.15 |
获取sqoop:http://sqoop.apache.org/
Step1. 下载sqoop及mysqlconnector并解压
Step2. 将解压后的connector中的jar包拷贝到sqoop的lib目录下
修改bin目录下 configure-sqoop 文件:
注释掉hbase和 zookeeper检查,因为目前还没有启用hbase/zookeeper等hadoop上的组件
Step3. 设置环境变量
注意重新连接使环境变量生效!
Sqoop:
Hadoop_home:
测试运行下sqoop:
可以使用help命令查看帮助:
Step4. 测试mysql导入HDFS:
创建一张测试表并插入数据:
利用sqoop将测试表导入到hdfs:
注意:可以用sqoop help import 查看帮助信息
登陆mysql创建用户,授予从任何ip登陆mysql权限
这里创建用户sqoopuser
GRANT ALL PRIVILEGES ON *.* TO 'sqoopuser'@'%' IDENTIFIED BY 'sqoopuser' WITH GRANT OPTION;
查看数据库列表:
sqoop list-databases --connect jdbc:mysql://10.55.15.89:3306/ --username sqoopuser --P
执行导入命令将sqoop_test表导入到hdfs:
sqoop import --connect jdbc:mysql://10.55.15.89:3306/sqoop_db --username sqoopuser --P --table sqoop_test -m 1
语法备注:
sqoop import --connect jdbc:mysql://mysqlserver_IP/database_name --username 数据库用户名 --P --table 表名 -m 1
最后一个-m表示并发数
结果查询:
可以看到hdfs里面多出了一个文件
查看里面具体的内容:
可以看到sqoop_test 表内的数据已经导入HDFS