Sqoop开发者指南

Sqoop开发者指南

ID:37141256

大小:264.00 KB

页数:12页

时间:2019-05-18

Sqoop开发者指南_第1页
Sqoop开发者指南_第2页
Sqoop开发者指南_第3页
Sqoop开发者指南_第4页
Sqoop开发者指南_第5页
资源描述:

《Sqoop开发者指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Sqoop开发者指南目录1引言12支持的发行版13Sqoop发行版1II4先决条件15Sqoop源码26开发者API参考26.1外部API26.2扩展API26.2.1的26.3Sqoop内部实现26.3.126.3.2的26.3.3Hadoop大数据处理技术架构3II1引言如果你是一个开发者或应用程序的程序员打算修改的Sqoop或通过使用Sqoop内部API进行扩展,你应该阅读此文档。以下各节描述的每一个API的作用,包括内部API和支持其他数据库必须的API。2支持的发行版本文档适用于SqoopV1.4.2。3Sqoop发行版Apache的

2、Sqoop是Apache软件基金会的一个开放源码的软件产品。Sqoop产品的发展在:http://svn.apache.org/repos/asf/sqoop/trunk。在该网站上,你可以得到:※最新版本的源代码※Anissuetracker※包含WIKI的Sqoop文档4先决条件Sqoop开发需要如下先决知识:※JAVA开发:&熟练掌握JDBC10&熟练掌握Hadoop的API(包括新的MapReduce0.2版本以上的API)※关系型数据库和SQL本文档假定您使用的是Linux或类似Linux的环境。如果你使用的是Windows,您可能能

3、够使用cygwin完成以下任务。如果你使用的是MacOSX,你应该看到一些兼容性错误(如果有的话)。Sqoop主要在Linux环境上进行测试。1Sqoop源码您可以从如下网站上获取Sqoop的源代码:http://svn.apache.org/repos/asf/sqoop/trunkSqoop源代码被保存在一个“Git”仓库中,从仓库中获取Sqoop源码的操作说明被提供在如上网站中提供的一个“TODO”页面上。编译指令由源码根目录下的“COMPILING.txt”文件提供。2开发者API参考本章节的内容提供给那些需要整合或者扩展Sqoop的应

4、用程序开发者。下面三个部分都是为了接下来的用例而写的:※使用Sqoop生成的类和公共类※Sqoop扩展(即,于更多数据库交互的额外的ConnManager的实现)※修改Sqoop内部实现每一部分逐步深入的描述Sqoop系统。2.1外部APISqoop在执行的时候自动生成将关系型数据库里表导入(import)到HDFS系统中的java类,这个类包含导入表的每一列的成员字段,这个类的一个实例保存导入表的每一行(每一行为一个实例),这个类通过Hadoop实现序列化API,命名为Writable和DBWritable接口。并且包含其他比较方便的方法:1

5、0※parse():可以解析带分隔符文本的方法。※toString():可以保留用户选择的分隔符的方法确保自动生成的类中的所有方法都存在于下面的抽象类中:com.cloudera.sqoop.lib.SqoopRecord.SqoopRecord实例可能依赖于Sqoop的公共API。所有的类都存在于com.cloudera.sqoop.lib包中。这些被简要的描述如下。Sqoop客户端并不需要直接与这些类发生关系,尽管由Sqoop生成的类依赖于他们。因此,这些AOP被认为是公开的,并且需要继续优化的。※RecordParser类将解析文本文件中

6、的一行到一个字段列表中,使用可控的分隔符和引号字符。※静态类FieldFormatter提供了一个被用于SqoopRecord.toString()的方法,该方法处理引用和转义字符。※封装ResultSet、PreparedStatementobjects、SqoopRecords之间的数据是通过JdbcWritableBridge实现的。※BigDecimalSerializer在Writable接口之上包含了一组对BigDecimal(小数)对象序列化的方法。1.1扩展API1.1.1HBase的序列化扩展本章节包含了API和最基本的用于扩

7、展Sqoop的类,这些类使得Sqoop可以与更多的数据库提供商做接口。Sqoop使用JDBC和DataDrivenDBInputFormat的从数据库中读取数据,对不同的数据库提供商及JDBC元数据之间的不同,必须为大多数数据库提供特定的代码路径。Sqoop针对这个问题的解决方案是引入ConnManagerAPI(com.cloudera.sqoop.manager.ConnMananger)。ConnManager是一个静态类,这个类定义了数据库本身相关作用的方法。ConnManager类的大多数实现都继承静态类SqlManager(com.

8、cloudera.sqoop.manager.SqlManager),SqlManager使用标准的SQL执行大部分的动作。所有的子类需要实现getC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。