與關係型數據庫交換數據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. 配置
5. 啓動hadoop,配置好相關環境變量(例如$HADOOP_HOME),就可使用sqoop了
6. sqoop命令選項
Import
(1)從mysql導入數據的例子(權威指南)
導入到Hbase的命令
(2)從oracle導入數據
Sqoop從oracle導入,須要有ojdbc6.jar,放在$SQOOP_HOME/lib裏,不用添加到classpath裏,由於sqoop會本身遍歷lib文件夾並添加里面的全部jar包—connect與mysql的不同,以下(shell腳本中的主要部分)
orcl oracle實例
7. Oracle Big Data Connectors
(1) Oracle HDFS直接鏈接器(ODCH)實驗
實驗環境
實驗1:直接訪問HDFS數據文件
Oracle的HDFS直接鏈接器容許從數據庫中直接訪問HDFS的數據文件。支持的數據文件格式取決於ORACLE_LOADER的驅動程序
在實驗1裏,咱們將會直接訪問HDFS上的幾個帶分隔符的文本文件,咱們能夠在數據庫中用sql來查詢該文件
(2)Oracle Hadoop 裝載程序(OLH實驗)
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的主要步驟
C++,c#與Hbase鏈接的步驟,方法與PHP相似