大數據學習之十五——sqoop的安裝和使用

1.概念瞭解mysql

sqoop主要用於hadoop與傳統的數據庫(mysql、postgresql...)間進行數據的傳遞,能夠將一個關係型數據庫(例如:MYSQL,Oracle,Postgrep等)中的數據導到hadoop的HDFS中,也能夠將HDFS的數據導進到關係型數據庫中。linux

2.sqoop的安裝sql

(1)將壓縮包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.jar放在Linux的路徑下,並修改配置文件/etc/profile數據庫

export SQOOP_HOME=該壓縮包所在路徑oop

export PATH=$PATH:$SQOOP_HOME/binpost

(2)更新環境變量的值postgresql

source /etc/profileblog

檢驗是否安裝成功:輸入sqoop ,顯示提示說明安裝成功。hadoop

(3)下載mysql的鏈接jar包,放在sqoop的家目錄的lib目錄下。get

安裝後驗證:

sqoop list-databases --connect jdbc:mysql://本地IP:3306/ --username root --password root123

若顯示數據庫,說明安裝完成。

3.sqoop的使用

sqoop支持不少對數據庫的操做,好比查看數據庫,查看數據表,對數據的導入導出,導入全部的表。固然用的最多的仍是export和import兩個指令對數據庫和hadoop數據進行導出導入。

(1)利用sqoop數據從mysql中導入到hdfs
 如今數據庫中創建一個employee的表,字段有id,name,age,place,entry_time,position
,而後再填充一些數據。

運行命令格式:sqoop import --connect jdbc:mysql://本地IP:3306/數據庫name   --username root --password 123456 --table 表名--target-dir  hdfs中的路徑  -m 1

sqoop import --connect jdbc:mysql://master:3306/liu  --username root --password 123456 --table employees --target-dir /input/sqoop/sqoop_employees  -m 1

須要注意的是:要導入到hdfs中的目錄不能提早存在。

 

(2)將數據從hdfs導出到mysql中

將hdfs中的數據/input/f.txt導入到數據庫中:

執行命令格式:

#sqoop export --connect jdbc:mysql://本地IP地址:3306/數據庫名字 --username root --table 表格的名字 --export-dir 'hdfs中的路徑' --fields-terminated-by ','

#sqoop export --connect jdbc:mysql://192.168.59.128:3306/db01 --username root --password  linux  --table table03 --export-dir '/input/f.txt' --fields-terminated-by ','

其中數據庫db01,table03都是提早存在的,而且table03的屬性是對應hdfs中的數據的。

相關文章
相關標籤/搜索