Sqoop源码编译与分析(V1.4.6)

来源:互联网 发布:java木马 编辑:程序博客网 时间:2024/05/13 05:06

Apache Sqoop 项目旨在协助 RDBMS 与 Hadoop 之间进行高效的大数据交流。用户可以在 Sqoop的帮助下,轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 ( 如 HBase 和 Hive) 中;同时也可以把数据从Hadoop 系统里抽取并导出到关系型数据库里。除了这些主要的功能外,Sqoop 也提供了一些诸如查看数据库表等实用的小工具。

Sqoop 支持的数据库

理论上,Sqoop 支持任何一款支持 JDBC 规范的数据库,如 DB2、MySQL 等。在使用 Sqoop连接关系型数据库前,首先需要把相关的 JDBC 驱动拷贝到 $SQOOP_HOME/lib文件夹下,然后在“connect”参数后指定好数据库连接的 url,如“--connectjdbc:db2://localhost:50000/SAMPLE”。 对于 DB2 数据库来说,Sqoop 目前支持 DB2的绝大多数数据类型,而且 Sqoop 的大多数工具也能在 DB2 上较好地运行。

Sqoop 支持的文件类型

Sqoop 能够将 DB2 数据库的数据导入到 HDFS 上,并保存为多种文件类型。常见的有定界文本类型,Avro 二进制类型以及SequenceFiles 类型。在本文里,统一用定界文本类型。


经过编译,终于将sqoop源码编译通了,并在ubuntu环境下进行了测试。

采用编译环境:Eclipse +Win7 

欢迎交流学习,邮箱号:sparkexpert@sina.com


Sqoop源码编译与分析(V1.4.6)

Sqoop源码编译与分析(V1.4.6)

经过分析,发现sqoop的源码非常清晰,所有的命令参数的解析都是以工具插件ToolPlugin的方式来执行,所以可以方便地在其上面进行扩展,同时里面的代码非常清晰,是一个不错的编程框架,可惜就是没有界面UI。


0 0
原创粉丝点击