sqoop job的使用
sqoop job可以將執行的語句變成一個job,並不是在創建語句的時候執行,你可以查看該job,可以任何時候執行該job,也可以刪除job,這樣就方便我們進行任務的調度。
--create <job-id> 創建一個新的job.
--delete <job-id> 刪除job
--exec <job-id> 執行job
--show <job-id> 顯示job的參數
--list 列出所有的job
# 創建job
[root@hadoop01 ~]# sqoop job --create user_job -- import --hive-import --connect jdbc:mysql://hadoop01:3306/sqoopdb --username root --password root --table MYUSER --columns 'ID,ACCOUNT,PASSWD' -m 1 --hive-table my
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:14:49 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
..........
# 創建job
[root@hadoop01 ~]# sqoop job --create hdfs_job -- import --connect jdbc:mysql://hadoop01:3306/sqoopdb --username root --password root --table user --columns 'id ,ACCOUNT,PASSWD' -m 1 --target-dir '/sqoopdb/hdfs/'
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:21:29 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
..........
# 查看job
[root@hadoop01 ~]# sqoop job -list
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:24:37 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Available jobs:
hdfs_job
user_job
# 執行job 會提示輸入mysql root用戶密碼
[root@hadoop01 ~]# sqoop job --exec dfs_job
#刪除作業
[root@hadoop01 ~]# sqoop job --delete dfs_job
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:41:59 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
[root@hadoop01 ~]# sqoop job --list
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:42:10 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Available jobs:
hdfs_job
user_job
#顯示作業詳細信息
[root@hadoop01 ~]# sqoop job --show hdfs_job
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/app/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/05/21 15:42:50 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Job: hdfs_job
Tool: import
Options:
.........
發現當我們執行hdfs_job的時候,需要輸入數據庫的密碼,怎麼樣能不輸入密碼呢?
配置sqoop-site.xml即可解決
將sqoop.metastore.client.record.password參數的註釋去掉 或者再添加一下
vi sqoop-site.xml
<property>
<name>sqoop.metastore.client.record.password</name>
<value>true</value>
<description>If true, allow saved passwords in the metastore.
</description>
</property>