hadoop 与关系型数据库交换数据(10)

与关系型数据库交换数据java

1. 与关系型数据库交换数据mysql

文本转换方案sql

自写Java程序shell

Sqoop数据库

厂商提供的解决方案c#

2. Sqoop简介oracle

SQL-to-HDFS工具框架

利用JDBC链接关系型数据库ide

3. Hadoop-0.20.2下使用Sqoop工具

Sqoop不支持次版本,可以使用CDH3,也能够经过拷贝相应的包到sqoop-1.2.0-CDH3/lib下,依然可使用

CDH3和sqoop1.2.0的下载

http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

其中sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,因此你须要下载hadoop-0.20.2-CDH3B4.tar.gz,解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中

另外,sqoop导入mysql数据运行过程当中依赖mysql-connector-java-*.jar,因此你须要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中

4. 配置

clip_image002

5. 启动hadoop,配置好相关环境变量(例如$HADOOP_HOME),就可使用sqoop了

6. sqoop命令选项

clip_image004

Import

clip_image006

(1)从mysql导入数据的例子(权威指南)

clip_image008

导入到Hbase的命令

clip_image010

(2)从oracle导入数据

Sqoop从oracle导入,须要有ojdbc6.jar,放在$SQOOP_HOME/lib里,不用添加到classpath里,由于sqoop会本身遍历lib文件夹并添加里面的全部jar包—connect与mysql的不同,以下(shell脚本中的主要部分)

clip_image012

clip_image014

orcl oracle实例

7. Oracle Big Data Connectors

clip_image016

(1) Oracle HDFS直接链接器(ODCH)实验

clip_image018

实验环境

clip_image020

clip_image022

实验1:直接访问HDFS数据文件

Oracle的HDFS直接链接器容许从数据库中直接访问HDFS的数据文件。支持的数据文件格式取决于ORACLE_LOADER的驱动程序

在实验1里,咱们将会直接访问HDFS上的几个带分隔符的文本文件,咱们能够在数据库中用sql来查询该文件

(2)Oracle Hadoop 装载程序(OLH实验)

clip_image024

8. 应用与Hbase的对接:经过Thrift

Thrift是一个跨语言的服务部署框架,最初由facebook于2007年开发,2008年进入Apache开源项目。Thrift经过一个中间语言(IDL,接口定义语言)来定义RPC的接口和数据类型,而后经过一个编译器生成不一样语言的代码(目前支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和Ocaml),并由生成的代码负责RPC协议层和传输层的实现。

参考资料

博客资料

Thrift框架介绍:http://dongxicheng.org/search-engine/thrift-framework-intro/

Thrift使用指南:http://dongxicheng.org/search-engine/thrift-guide/

(1) PHP经过Thrift连接Hbase的主要步骤

clip_image026

C++,c#与Hbase链接的步骤,方法与PHP相似

相关文章
相关标签/搜索