1. 程式人生 > >sqoop的全量匯入,增量匯入2種,減量匯入

sqoop的全量匯入,增量匯入2種,減量匯入

全量匯入:將mysql表中全部資料都匯入HDFS,如果HDFS中存在這個目錄的話就會報錯,預設儲存的HDFS目錄是  /user/root/XXX,括號中的內容都為解釋,要執行的話就一行一行貼上一起執行

bin/sqoop  import       (在sqoop的安裝目錄內,import表名是匯入)

--connect jdbc:mysql://192.168.5.120:3306/myhive   (連線:協議:資料庫型別://ip地址:埠號/資料庫)

--username root     (使用者名稱 root)

--password 123456  (密碼 123456)

--table person    (表 person)

--m 1 (--num-mappers:使用幾個mapper,寫1就可以)

增量匯入:將資料庫中某一欄位,增加的匯入,在hdfs上單獨形成一個檔案

bin/sqoop import  (同上)

--connect jdbc:mysql://192.168.5.120:3306/myhive  (同上)

--username root  (同上)

--password 123456  (同上)

--table person  (同上)

--incremental append   (表明增量匯入)

--check-column id   (檢查哪個欄位,這裡檢查的是mysql資料庫表中的id欄位)

--last-value 4  (id欄位最後一個id是4,那增量匯入的話就是從id=5開始往後匯入)

--m 1  (同上)

增量匯入2或減量匯入:設定where條件,通過條件可以判斷減少的資料和增加的資料,控制更加靈活一些,例如可以通過時間來判斷資料是哪一天生成的等

千萬注意:where條件的地方都是用“”雙引號引起來的!!!,要不然where條件失效

bin/sqoop import   (同上)

--connect jdbc:mysql://192.168.5.120:3306/myhive  (同上)

--username root   (同上)

--password 123456  (同上)

--table person  (同上)

--incremental append  (表明增量匯入)

--where “age>30“  (where條件判斷,精華所在,雙引號引起來)

--check-column id   (檢查列,好像沒有什麼卵用)

-m 1 (同上)