更新时间:2022-09-23 来源:黑马程序员 浏览量:
Sqoop导出与导入是相反的操作,也就是将HDFS、Hive、Hbase等文件系统或数据仓库中的数据导出到关系型数据库中,在导出操作之前,目标表必须存在于目标数据库中,否则在执行导出操作时会失败。而Hive、Hbase的数据通常都是以文件的形式存储在HDFS中,因此,本节就重点讲解如何将HDFS数据导出到MySQL中。
为了方便操作,这里就将10.4.1小节中导入到HDFS上/sqoopresult目录下的结果文件part-m-00000进行导出操作。首先在本地MySQL数据库中(例如前面自定义的userdb数据库)提前创建目标表结构,该表结构需要与HDFS中的源数据结构类型一致,具体emp_export.sql语句如文件所示。
文件 emp_export.sql
DROP TABLE IF EXISTS `emp_export`; CREATE TABLE `emp_export` ( `id` int(11) NOT NULL, `name` varchar(100) DEFAULT NULL, `deg` varchar(100) DEFAULT NULL, `salary` int(11) DEFAULT NULL, `dept` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`) );
完成上面目标表emp_export的创建工作后,接下来就将HDFS上/sqoopresult目录下的part-m-00000文件进行导出操作,具体指令示例如下。
$ sqoop export \ --connect jdbc:mysql://hadoop01:3306/userdb \ --username root \ --password 123456 \ --table emp_export \ **--export-dir /sqoopresult
执行完指令后,进入MySQL数据库,查看表emp_export的内容,如图1所示。
图1 表emp_export
从图1可以看出,使用Sqoop成功将HDFS的数据导出到MySQL数据库中。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19