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 (同上)