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>