sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中;也可以把数据从hdfs中导出到关系型数据库中。sqoop通过Hadoop的MapReduce导入导出,因此提供了很高的并行性能以及良好的容错性。
二、常见用法 2.1 mysql导入到hdfs1 全部导入 sqoop import --connect jdbc:mysql://192.168.56.160:3306/mydemo --username root --password okok --table student -->选择表 --target-dir '/kb13/student' -->上传至hdfs目录 --delete-target-dir --> 若存在就删除 --num-mappers 1 --> 设置mapper数量 若是2,最后要设置reduce数量 --fields-terminated-by ',' -m 2 2 查询导入 sqoop import --connect jdbc:mysql://192.168.56.160:3306/mydemo --username root --password okok --target-dir '/kb13/users' --delete-target-dir --num-mappers 1 --fields-terminated-by ',' --query 'select * from student where score<60 and $CONDITIONS;'2.2 hdfs导出到MySQL
sqoop export --connect jdbc:mysql://192.168.56.160:3306/mydemo --username root --password okok --table users --> mysql中创建新表,与导入的表结构一样 --export-dir '/kb13/student' --num-mappers 1 --input-fields-terminated-by ','2.3 MySQL导入到hive
sqoop import --connect jdbc:mysql://192.168.56.160:3306/mydemo --username root --password okok --table student --num-mappers 1 --hive-import --> hive导入 --fields-terminated-by ',' --hive-overwrite -->覆盖 --delete-target-dir --hive-table mydemo.users --> hive中创建表格2.4 hive导出到MySQL
sqoop export --connect jdbc:mysql://192.168.56.160:3306/mydemo --username root --password okok --table user1 --export-dir '/hive110/warehouse/mydemo.db/users' --input-fields-terminated-by ','



