🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 简介 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统; 导出数据:从Hadoop的文件系统中导出数据到关系数据库 ![](https://box.kancloud.cn/69a1592af451b727400522ef00eac05e_784x372.png) RDBS(mysql) -> hadoop(hdfs,hive,hbase) 数据导入过程import hadoop(hdfs,hive) -> RDBS 数据导出过程 export(没有hbase) # 工作机制 **将导入或导出命令翻译成mapreduce程序来实现** 在翻译出的mapreduce中主要是对inputformat和outputformat进行定制 # 安装 安装sqoop的前提是已经具备java和hadoop的环境 下载`http://ftp.wayne.edu/apache/sqoop/1.4.7/` 版本有可能会变 修改配置文件(按照自己的路径配置) ~~~ $ cd $SQOOP_HOME/conf # -a表示把一些文件属性权限复制过来 $ cp -a sqoop-env-template.sh sqoop-env.sh ~~~ 打开sqoop-env.sh并编辑下面几行 ~~~ export HADOOP_COMMON_HOME=/home/hadoop/apps/hadoop-2.6.1/ export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.6.1/ export HIVE_HOME=/home/hadoop/apps/hive-1.2.1 export ZOOCFGDIR=/home/hadoop/zookeeper-3.4.5/conf export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.5 #export HBASE_HOME= ~~~ 加入mysql的jdbc驱动包,如果用的是oracle就用oracle的驱动包. 有些框架的classpath是加载自己的lib目录下,有些不是 ~~~ cp ~/app/hive/lib/mysql-connector-java-5.1.28.jar $SQOOP_HOME/lib/ ~~~ 验证启动 ~~~ $ cd $SQOOP_HOME/bin $ sqoop-version ~~~ 预期的输出: ~~~ 15/12/17 14:52:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6 Sqoop 1.4.6 git commit id 5b34accaca7de251fc91161733f906af2eddbe83 Compiled by abe on Fri Aug 1 11:19:26 PDT 2015 ~~~ 到这里,整个Sqoop安装工作完成。