配置好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
之后我们需要根据表格字段数据手动来创建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这个是列名,要和创建的数据库一致
最后是导出的路径
下面是执行结果