Sqoop的安装配置及工作机制
文章目錄
- @[toc] 目錄:
- 1、簡介
- 2、sqoop安裝
- 2.1、下載并解壓
- 2.2、修改配置文件
- 2.3、加入mysql或oracle的jdbc驅(qū)動包
- 2.4、驗(yàn)證啟動
- 3、Sqoop的原理
- 3.1、代碼定制
目錄:
- 2.1、下載并解壓
- 2.2、修改配置文件
- 2.3、加入mysql或oracle的jdbc驅(qū)動包
- 2.4、驗(yàn)證啟動
- 3.1、代碼定制
1、簡介
sqoop是apache旗下一款“Hadoop和關(guān)系數(shù)據(jù)庫服務(wù)器之間傳送數(shù)據(jù)”的工具。
導(dǎo)入數(shù)據(jù):MySQL,Oracle導(dǎo)入數(shù)據(jù)到Hadoop的HDFS、HIVE、HBASE等數(shù)據(jù)存儲系統(tǒng);
導(dǎo)出數(shù)據(jù):從Hadoop的文件系統(tǒng)中導(dǎo)出數(shù)據(jù)到關(guān)系數(shù)據(jù)庫。
2、sqoop安裝
安裝sqoop的前提是已經(jīng)具備java和hadoop的環(huán)境
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驅(qū)動包
cp ~/app/hive/lib/mysql-connector-java-5.1.28.jar $SQOOP_HOME/lib/2.4、驗(yàn)證啟動
$ cd $SQOOP_HOME/bin $ sqoop-version 預(yù)期的輸出: 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的原理其實(shí)就是將導(dǎo)入導(dǎo)出命令轉(zhuǎn)化為mapreduce程序來執(zhí)行,sqoop在接收到命令后,都要生成mapreduce程序。在翻譯出的mapreduce中主要是對inputformat和outputformat進(jìn)行定制。
使用sqoop的代碼生成工具可以方便查看到sqoop所生成的java代碼,并可在此基礎(chǔ)之上進(jìn)行深入定制開發(fā)。
3.1、代碼定制
以下是Sqoop代碼生成命令的語法:
$ sqoop-codegen (generic-args) (codegen-args) $ sqoop-codegen (generic-args) (codegen-args)示例:以USERDB數(shù)據(jù)庫中的表emp來生成Java代碼為例。
下面的命令用來生成導(dǎo)入
如果命令成功執(zhí)行,那么它就會產(chǎn)生如下的輸出。
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驗(yàn)證: 查看輸出目錄下的文件
$ cd /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/ $ ls emp.class emp.jar emp.java如果想做深入定制導(dǎo)出,則可修改上述代碼文件
總結(jié)
以上是生活随笔為你收集整理的Sqoop的安装配置及工作机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网金融行业申请评分卡(A卡)简介
- 下一篇: 线性判别结合源码分析LDA原理