开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天[juejin.cn/post/716729…](https: //juejin.cn/post/7167294154827890702 "juejin.cn/post/716729…")
介绍
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、 postgresql等)间进行数据的传递。可以将关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导入到HDFS中,也可以将HDFS的数据导进到关系型数据库 中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让 使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一 个 Apache 项目。
将导入或导出命令转换为 MapReduce 程序来实现。翻译出的 MapReduce 中主要 是对 inputformat 和outputformat 进行定制。
Sqoop架构图
从Sqoop的架构上我们可以看到,数据导入的过程主要是RDBMS到HDFS,Pig,HBase,Hive等存储或计算引擎迁移数据的过程,导出则是将上述提到的存储引擎数据回流到关系型数据库的过程
导入数据范例
mysql to hdfs
导入查询数据
导入指定列
关键字查询导入
启动多map task导入
mysql 导入hive
导出数据范例
导出要注意 实际导出的是文件夹,而非hive表,所以字段类型必须要能对应,应该严格检查