sqoop job的使用

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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章