您的位置:首页 > 数据库

sqoop数据库迁移工具——实操

2017-06-28 19:23 351 查看

Sqoop实操:数据迁移工具sqoop主要用于hadoop(Hive)与传统数据库mysql间进行数据的迁移

sqoop是将语法转换hdfs/yarn需要将mysql-connector-5.1.8.jar拷贝至itcast03机器上
cp /root/mysql-connector-5.1.8.jar /itcast/sqoop-1.4.4/lib/
(不需要配置任何文件,它会自动寻找HADOOP_HOME)我们将进行从mysql数据库数据迁移至hdfs中


1.将mysql数据库的student表迁移到hdfs中

./sqoop import --connect jdbc:mysql://192.168.8.100:3306/mysql --username root --password 1234 --table student


2.我们可以指定生成到目录位置,起动几个map

./sqoop import --connect jdbc:mysql://192.168.8.100:3306/mysql --username root --password 1234 --table student --target-dir /sqoop/student1 -m 2


3.也可以指定windows下的mysql的表、列、及分隔符导入到hdfs中

./sqoop import --connect jdbc:mysql://192.168.8.100:3306/mysql --username root --password 1234 --table student --target-dir /sqoop/student2 -m 2 --fields-terminated-by '\t' --columns "id, NAME, department"


4.当然也可以导入自定义条件的数据

./sqoop import --connect jdbc:mysql://192.168.8.100:3306/mysql --username root --password 1234 --table student --target-dir /sqoop/student3 -m 2 --fields-terminated-by '\t' --where 'id>904 and id<=906'


5.$CONDITIONS将条件传给map,如果加了'select'必须添加$CONDITIONS,启用一个map时不用--split-by,如果启用多个map就需要--split-by

./sqoop import --connect jdbc:mysql://192.168.8.100:3306/mysql --username root --password 1234 --query 'select * from student where id > 902 and $CONDITIONS' -m 2 --target-dir /sqoop/student4 --split-by id


6.重点是我们还可以将数据导回数据库mysql

./sqoop export --connect jdbc:mysql://192.168.8.100/student --username root --password 1234 --export-dir '/sqoop/student3' --table student_copy -m 1 --fields-terminated-by '\t'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sqoop 数据库