配置好Sqoop之后,我需要把HDFS上的结构化数据转到MySQL(虚拟机)表格中,下面是具体步骤。

 

首先我们准备一份结构化数据emp_data.txt

1201,gopal,manager,50000,TP
1202,manisha,preader,50000,TP
1203,kalil,php dev,30000,AC
1204,prasanth,php dev,30000,AC
1205,kranthi,admin,20000,TP
1206,satishp,grpdes,20000,GR

 

然后把这个数据上传到HDFS文件系统中

hadoop fs -mkdir /emp_data
hadoop fs -put emp_data.txt /emp_data

sqoop与mysql连接问题 scoop mysql_数据

 

 

之后我们需要根据表格字段数据手动来创建MySQL表,需要提前建表。

create table employee ( 
   id int not null primary key, 
   name varchar(20), 
   deg varchar(20),
   salary int,
   dept varchar(10));

 

建完表在Sqoop路径下执行导出命令

bin/sqoop export \
--connect jdbc:mysql://node1:3306/userdb \  
--username root \
--password hadoop \
--table employee \
--columns id,name,deg,salary,dept \
--export-dir /emp_data/

下面做出解释

node1是我的虚拟机名称,也可以写ip地址,userdb是数据库名  \是为了复制的时候防止自动执行

columns这个是列名,要和创建的数据库一致

最后是导出的路径

 

下面是执行结果

sqoop与mysql连接问题 scoop mysql_数据_02