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