什么是Sqoop ?      Sqoop 是一個(gè)開源的數(shù)據(jù)處理引擎,主要是通過  JDBC ..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Sqoop數(shù)據(jù)分析引擎安裝與使用

發(fā)布時(shí)間:2020-06-29 09:28:36 來源:網(wǎng)絡(luò) 閱讀:1061 作者:菜鳥的征程 欄目:大數(shù)據(jù)

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 版本信息

================================================================




      

       











向AI問一下細(xì)節(jié)

免責(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)容。

AI