Sqoop 导出与导入是相反的操作,也就是将 HDFS、Hive和 HBase 等文件系统或数据仓库中的数据导出到关系数据库中,在导出操作之前,目标表必须存在于目标数据库中,否则在执行导出操作时会失败。而 Hive 和 HBase 的数据通常都是以文件的形式存储在HDFS中因此.本节就重点讲解如何将 HDFS数据导出到 MySQL中。
为了方便操作,这里就将 Sqoop数据导入-CSDN博客中导人到 HDFS上/sqoopresult 目录下的结果文件part-m-00000进行导出操作。首先在本地 MySQL数据库中(如前面自定义的 sqooptest数据库)提前创建目标表结构,该表结构须和HDFS的源数据结构类型一致
一、创建HDFS源数据对应的mysql表结构
#检查数据库是否存在表“emp”
use sqooptest;
DROP TABLE IF EXISTS ’emp‘;
#创建表emp
CREATE TABLE emp (
id INT PRIMARY KEY,
name VARCHAR(255),
age INT,
salary DECIMAL(10, 2) );
二、HDFS数据导出
将HDFS上/sqoopresult/进行导出
sqoop export --connect jdbc:mysql://master:3306/sqooptest --username root --password mysql --table emp --export-dir /sqoopresult
#sqooptest :mysql数据库
#--export-dir /sqoopresult HDFS导出源数据目录