一.准备要导入的数据:
1.进入数据库 mysql -uroot -p123456(-u后面是sqoop的mysql的用户名,-p后面是密码)
2.创建数据库: create database 数据库名 (sqooptest)
3.使用数据库:use sqooptest
4.创建表:create table hdfs(
id int primary key not null
name varchar(20) not null
);
5.数据添加:
insert into tohdfs values (1,'one');
.......
二.数据导入:
bin/sqoop import \
--connection jdbc:mysql://hadoop50.com:3306/sqoop \
--username root \
--passward 123456 \
--table tohdfs
查看输出目录:
查看HDFS的输出目录:mapreduce.output.fileoutputformat.outputdir
hdfs://hadoop50.com:8020/user/hadoop/tohdfs
三.优化输出:
1.控制map的任务个数:-m,--num-mappers <n>
并且输出路径如果存在可以使用--delete-target-dir删除
bin/sqoop import \
--connect jdbc:mysql://hadoop50.com:3306/sqoop \
--username root \
--password 123456 \
--delete-target-dir \
--table tohdfs \
-m 1
2.指定导入的输出目录:--target-dir <dir>
bin/sqoop import \
--connect jdbc:mysql://hadoop50.com:3306/sqoop \
--username root \
--password 123456 \
--delete-target-dir \
--target-dir /sqoop_test \
--table tohdfs \