自己怎么做农好产品网站,无锡做网络推广,汕头第一网告别单身,世界500强企业有哪些文章目录[toc] 目录#xff1a;1、简介2、sqoop安装2.1、下载并解压2.2、修改配置文件2.3、加入mysql或oracle的jdbc驱动包2.4、验证启动3、Sqoop的原理3.1、代码定制目录#xff1a;
1、简介
sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。 导入…文章目录[toc] 目录1、简介2、sqoop安装2.1、下载并解压2.2、修改配置文件2.3、加入mysql或oracle的jdbc驱动包2.4、验证启动3、Sqoop的原理3.1、代码定制 目录
1、简介
sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。 导入数据MySQLOracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统 导出数据从Hadoop的文件系统中导出数据到关系数据库。
2、sqoop安装
安装sqoop的前提是已经具备java和hadoop的环境
2.1、下载并解压
下载地址http://archive.apache.org/dist/sqoop/
2.2、修改配置文件
$ cd $SQOOP_HOME/conf
$ mv 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.12.3、加入mysql或oracle的jdbc驱动包
cp ~/app/hive/lib/mysql-connector-java-5.1.28.jar $SQOOP_HOME/lib/2.4、验证启动
$ 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安装工作完成。
3、Sqoop的原理
Sqoop的原理其实就是将导入导出命令转化为mapreduce程序来执行sqoop在接收到命令后都要生成mapreduce程序。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。
使用sqoop的代码生成工具可以方便查看到sqoop所生成的java代码并可在此基础之上进行深入定制开发。
3.1、代码定制
以下是Sqoop代码生成命令的语法
$ sqoop-codegen (generic-args) (codegen-args)
$ sqoop-codegen (generic-args) (codegen-args)示例以USERDB数据库中的表emp来生成Java代码为例。 下面的命令用来生成导入
$ sqoop-codegen \
--import
--connect jdbc:mysql://localhost/userdb \
--username root \
--table emp
如果命令成功执行那么它就会产生如下的输出。
14/12/23 02:34:40 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5
14/12/23 02:34:41 INFO tool.CodeGenTool: Beginning code generation
……………….
14/12/23 02:34:42 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/local/hadoop
Note: /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/emp.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
14/12/23 02:34:47 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/emp.jar
验证: 查看输出目录下的文件
$ cd /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/
$ ls
emp.class
emp.jar
emp.java
如果想做深入定制导出则可修改上述代码文件