什么是Sqoop ? Sqoop 是一個(gè)開源的數(shù)據(jù)處理引擎,主要是通過 JDBC ..."/>
您好,登錄后才能下訂單哦!
Sqoop數(shù)據(jù)分析引擎安裝與使用
==>什么是Sqoop ?
Sqoop 是一個(gè)開源的數(shù)據(jù)處理引擎,主要是通過 JDBC 為媒介, 在Hadoop(Hive)與 傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(Oracle, MySQL,Postgres等)間進(jìn)行數(shù)據(jù)的傳遞
HDFS Hive HBase < JDBC > Oracle, MySQL,
==> Sqoop 的安裝:
1. 將安裝包解壓:tar zxf sqoop-1.4.6.bin__hadoop-0.23.tar.gz -C /app
2. 配置環(huán)境變量:
vim ~/.bash_profile
SQOOP_HOME=/app/sqoop-1.4.6.bin__hadoop-0.23
export SQOOP_HOME
PATH=$SQOOP_HOME/bin:$PATH
================================================================
3. 因?yàn)樾枰ㄟ^ JDBC 與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)傳輸,所以需要將數(shù)據(jù)庫的 JDBC 工具包放入到 lib 目錄下
打開oracle 安裝目錄: C:\oracle\product\10.2.0\db_1\jdbc\lib
將 ojdbc14.jar 文件復(fù)制到 sqoop 的 bin 目錄下: /app/sqoop-1.4.6.bin__hadoop-0.23/bin
==> Sqoop 的命令詳解:(注意:在oracle 中,用戶名和表名要全部大寫)
codegen ---> 將關(guān)系數(shù)據(jù)庫表映射為一個(gè)Java 文件, Java class類, 以及相關(guān)的 jar 包
sqoop codegen \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
--table EMP
================================================================
create-hive-table ---> 生成與關(guān)系數(shù)據(jù)庫表結(jié)構(gòu)對應(yīng)的 Hive 表
sqoop create-hive-table \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
--table EMP
--hive-table emphive
================================================================
eval ---> 快速地使用 SQL 語句對關(guān)系數(shù)據(jù)庫進(jìn)行操作
這可以在使用的 import 這種工具進(jìn)行數(shù)據(jù)導(dǎo)入的時(shí)候,檢查 SQL 語句是否正確,并將結(jié)果顯示在控制臺
sqoop eval \
--connect jdbc:oracal:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle
--query "select * from emp"
================================================================
export ---> 從hdfs 中導(dǎo)數(shù)據(jù)到關(guān)系數(shù)據(jù)庫中
sqoop export \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
--table STUDENTS # 表
--export-dir /students # HDFS 中的數(shù)據(jù)表
================================================================
import ---> 將數(shù)據(jù)庫表的數(shù)據(jù)導(dǎo)入到 HDFS 中
sqoop export \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle
--table EMP \
--target-dir /emp
-------------------------------------------------------------------------------------------------------------
--->將數(shù)據(jù)導(dǎo)入到HBase 中(需要先將表創(chuàng)建)
sqoop import \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
--table EMP --columns empno, ename, sal, deptno \
--hbase-table emp --hbase-row-key empno --column-family empinfo
row-key 列族
================================================================
import-all-tables ---> 將數(shù)據(jù)庫中所有的表的數(shù)據(jù)導(dǎo)入到 HDFS 中
sqoop import-all-tables \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
--m 1
================================================================
job --> 用來生成一個(gè) Sqoop 的任務(wù),生成后,該 任務(wù)不執(zhí)行,除非使用命令執(zhí)行該任務(wù)
================================================================
list-databases ---> 打印出關(guān)系數(shù)據(jù)庫所有數(shù)據(jù)庫名
sqoop list-databases \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl
--username SYSTEM --password oracle
================================================================
list-table ---> 打印出關(guān)系數(shù)據(jù)庫中所有的表名
sqoop list-table \
--connect jdbc:oracle:thin:@192.168.10.210:1521:orcl \
--username SCOTT --password oracle \
-m 1
================================================================
merge ---> 將 HDFS 中不同目錄下的數(shù)據(jù)合在一起,并存放在指定的目錄中
================================================================
metastore ---> 記錄 Sqoop job 的元數(shù)據(jù)信息
================================================================
version ---> 顯示 Sqoop 版本信息
================================================================
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。