本人使用工具:
Windows 和 虛擬機鏈接的工具為 :MobaXterm
Windows鏈接資料庫工具:Navicat

本人的資料庫欄位為:

sqoop 實作全量匯入執行的陳述句為:
sqoop import --connect jdbc:mysql://192.138.56.101:3306/dbFood --username root --password root --table doubantop250 --hive-import --create-hive-table --fields-terminated-by ","

第一個引數是:虛擬機的ip
第二個引數是:資料庫名
第三個引數是:登陸虛擬機的用戶
第四個引數是:用戶的密碼
第五個引數是:要從資料庫匯入到Hive的資料庫表
sqoop 實作增量匯入執行的陳述句為:
sqoop import --connect jdbc:mysql://192.168.56.101:3306/dbFood --username root --password root --table doubantop250 --hive-import --fields-terminated-by "," -m 1 --hive-table doubantop250 --incremental append --check-column rank1 --last-value 0

第一個引數:對應你資料庫當中的主鍵名 我的是rank1
第二個引數:你要從第幾條資料開始匯入(從0開始,不包括0)
---------------------------分割線---------------------------------
每一次我們要實作增量匯入的時候都要手動修改 last-value 太麻煩了 我們可以定義 一個 job來實作增量匯入 每執行一次job last-value的值就會自動跳轉到當前最大的主鍵的位置
創建一個job 名為myjob2
sqoop job --create myjob2 -- import --connect jdbc:mysql://192.168.56.101:3306/dbFood --username root --password root --table doubantop250 --hive-import --fields-terminated-by ',' --hive-table doubantop250 --incremental append --check-column rank1 --last-value 0

rank1 是我的主鍵
如果創建成功 在根目錄下執行下面的代碼
sqoop job --list
可以使用的 job 就會全部列出來
下面是常用的命令
執行:
sqoop job --exec myjob2
查看存在的 job:
sqoop job --list
洗掉:
sqoop job --delete myjob2
查看 job 的定義 :
sqoop job --show myjob2
---------------------------------------分割線-------------------------------------
每隔一段時間需要我們手動執行sqoop job --exec myjob2 太麻煩了
我們可以讓Linux系統每間隔一段時間就自動執行 job
我們需要創建一個后綴為 .sh 的檔案
我在hadoop目錄下創建
創建 命令為 vim Time_job.sh
![]()
然后點擊重繪 就可以看見檔案了

Time_job.sh 里面的內容為:
#!/bin/sh
# source /etc/profile
current_time=$(date +%Y-%m-%d___%H:%M:%S)
echo $current_time >> /hadoop/job_log.log
echo ............................ >> /hadoop/job_log.log
sqoop job --exec myjob2

然后創建定時任務去定時執行 Time_job.sh 檔案即可
創建定時任務命令為:
crontab -e
![]()
增加內容:
*/1 * * * * . /etc/profile; /bin/sh /hadoop/Time_job.sh
即增加了定時任務 每一分鐘 執行 Time_job.sh 一次
如果你的資料庫的資料在不斷更新,你的hive表里面的資料也會不斷更新
到這一步定時任務就完成了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/348318.html
標籤:其他
上一篇:《kafka問答100例 -7》如果Topic洗掉程序中有某臺Broker宕機,洗掉流程會正常進行嗎 ? |文末送書
下一篇:Hive 資料遷移與備份
