Sqoop 是一款数据迁移的工具,可以从 mysql等数据库迁移到 hdfs 里面 ,依赖 yarn 和 hdfs,如果服务器上面有$HADOOP_HOME这个变量,sqoop会自动去读取这个值来寻找yarn和namenode,安装在一台节点机上面就可以了
安装
tar -xvf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz -C /home/hadoop/ 解压
cp /tmp/mysql-connector-5.1.8.jar ./sqoop-1.4.4.bin__hadoop-2.0.4-alpha/lib/ 拷贝mysql的连接jar包到lib目录下面
导出语句:
./sqoop import --connect jdbc:mysql://192.168.1.100:3306/test --username root --password root --table student --target-dir /student2 -m 2 --fields-terminated-by '|' --columns "id,name";
Import 是导出
–Connect 是连接数据库
–username 用户名
–password 密码
–table 表面
红色test是数据库名称
–target-dir 是hdfs路径
-m 是启动多少一个mapping
-fields-terminated-by 指定分隔符
–columns 知道需要导出的列
如果这个表没有主键,那么个-m 只能指定是1
./sqoop import --connect jdbc:mysql://192.168.1.100:3306/test --username root --password root --table student --target-dir /student2 -m 2 --fields-terminated-by '|' --columns "id,name" --where 'id>2 and id<=5';
–where 是条件
如果是有where –m就会失去作用