sqoop的数据导出是指将数据从HDFS把文件导出到RDBMS数据库。
导出前,目标表必须存在于目标数据库中。
默认操作是从将文件中的数据使用INSERT语句插入到表中。
更新模式下,是生成UPDATE语句更新表数据。
hdfs导出到mysql
数据是在HDFS当中的如下目录/sqoop/emp,数据内容如下:(拿人家的数据啦)
1201,gopal,manager,50000,TP,2018-06-17 18:54:32.0,2018-06-17 18:54:32.0,1
1202,manisha,Proof reader,50000,TP,2018-06-15 18:54:32.0,2018-06-17 20:26:08.0,1
1203,khalil,php dev,30000,AC,2018-06-17 18:54:32.0,2018-06-17 18:54:32.0,1
1204,prasanth,php dev,30000,AC,2018-06-17 18:54:32.0,2018-06-17 21:05:52.0,0
1205,kranthi,admin,20000,TP,2018-06-17 18:54:32.0,2018-06-17 18:54:32.0,1
创建mysql表
CREATE TABLE `emp_out` (
`id` INT(11) DEFAULT NULL,
`name` VARCHAR(50) DEFAULT NULL,
`deg` VARCHAR(50) DEFAULT NULL,
`salary` INT(11) DEFAULT NULL,
`dept` VARCHAR(10) DEFAULT NULL,
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`is_delete` BIGINT(20) DEFAULT '1'
) ENGINE=INNODB DEFAULT CHARSET=utf8;
执行导出命令
通过export来实现数据的导出,将hdfs的数据导出到mysql当中去
bin/sqoop export \
--connect jdbc:mysql://192.168.52.5:3306/userdb \
--username root --password 123 \
--table emp_out \
--export-dir /sqoop/emp \
--input-fields-terminated-by ","