詳解大資料擷取引擎之Sqoop&採集oracle資料庫中的資料

來源:互聯網
上載者:User

標籤:記錄   資料傳遞   hive   命令   行資料   資料匯入   tar   port   匯出   

歡迎關注大資料和人工智慧技術文章發布的公眾號:清研學堂,在這裡你可以學到夜白(作者筆名)精心整理的筆記,讓我們每天進步一點點,讓優秀成為一種習慣!

一、Sqoop的簡介:

Sqoop是一個資料擷取引擎/資料交換引擎,採集關係型資料庫(RDBMS)中的資料,主要用於在RDBMS與HDFS/Hive/HBase之間進行資料傳遞,可以通過sqoop import命令將RDBMS中的資料匯入到HDFS/Hive/HBase中,也可以通過sqoop export命令將HDFS/Hive/HBase中的資料匯入到RDBMS中,特點:批量採集資料,底層依賴於MapReduce程式,工作原理:通過JDBC串連到關係型資料庫(RDBMS)。

二、Sqoop的實驗條件:

實驗條件:安裝Windows XP作業系統和oracle資料庫。

為什麼要選擇關係型資料庫中的oracle資料庫呢?

原因:1、在windows系統上安裝oracle資料庫比在linux系統上更簡單。2、oracle資料庫中的SH使用者含有sales訂單表,表中包含92萬條記錄,SCOTT使用者含有現成的員工表emp.csv和部門表dept.csv。

三、各種資料庫對應的驅動類名和URL格式:

資料庫 驅動類名 URL格式 連接埠號碼

oracle oracle.jdbc.OracleDriver jdbc:oracle:thin:@IP:1521:orcl 1521

mysql com.mysql.jdbc.Driver jdbc:mysql://IP:3306/dbname?name=value 3306

hive org.apache.hive.jdbc.HiveDriver jdbc:hive2://IP:10000/dbname 10000

四、安裝和配置Sqoop:

註:不需要修改設定檔

1、安裝sqoop:tar -zxvf sqoop-1.4.5bin_hadoop-0.23.tar.gz -C ~/training

2、配置SQOOP_HOME環境變數:

export SQOOP_HOME=/root/training/sqoop-1.4.5bin_hadoop-0.23

export PATH=$SQOOP_HOME/bin:$PATH

五、使用sqoop語句採集RDBMS中的資料:

1、匯入員工表EMP中的所有資料:

sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SCOTT --password tiger --table EMP --target-dir /sqoop/import/emp1

2、匯入員工表EMP中的指定列:

sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --usrname SCOTT --password tiger --table EMP -column ENAME,SAL --target-dir /sqoop/import/emp2

3、匯入SALES表中的所有資料:

sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SH --password sh --table SALES --target-dir /sqoop/import/sales -m 1

4、匯入SCOTT使用者下的所有表到HDFS中:

sqoop import-all-tables --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --usernmae SCOTT --password tiger

5、匯出HDFS中的資料到RDBMS中:

sqoop export --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SCOTT --password tiger --table STUDENTS --export-dir /students

六、oracle資料庫與mysql資料庫的區別:

1、oracle資料庫區分大小寫,需要大寫的有:使用者名稱、表名、列名,mysql資料庫不區分大小寫。

2、oracle資料庫只有一個資料庫:orcl,在安裝oracle資料庫時自動建立,mysql資料庫有很多資料庫。

3、oracle資料庫有很多使用者,表屬於使用者,mysql資料庫有很多資料庫,表屬於資料庫,資料庫對不同使用者佈建了不同的存取權限。

七、Sqoop與Flume的相同與不同:

相同:sqoop和flume都是資料擷取引擎。

不同:sqoop的特點:批量採集資料,flume的特點:即時採集資料,主要用於即時採集系統中。

李金澤AllenLi,清華大學在讀碩士,研究方向:大資料和人工智慧。

詳解大資料擷取引擎之Sqoop&採集oracle資料庫中的資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.