sqoop(二) sqoop job
sqoop job的常用参数:
--create <job-id> 创建一个新的sqoop任务
--delete <job-id> 删除sqoop任务
--exec <job-id> 运行任务
--list 列出已经保存的sqoop任务列表
--show <job-id> 显示已保存的任务的参数
--verbose 工作时打印更多的信息
创建sqoop job任务:
sqoop job \
--create job_dw_meta_table_v2 \
-- import \
--driver dm.jdbc.driver.DmDriver \
--connect jdbc:dm://192.168.xx.xx:xxxx/METACENTER \
--username METACENTER \
--password-file /software/pwd/dm_pwd \
--table dw_meta_table \
--hive-import \
--hive-database demo \
--incremental append \
--hive-table to_dw_meta_table_v2 \
--target-dir /software/hadoop3.1.3/hadoop-3.1.3/to_dw_meta_table_v2/ \
--check-column create_time \
--fields-terminated-by ',' \
--last-value '2021-04-08 11:30:21.000000' \
--hive-delims-replacement '!!==!!'
-m 1
具体参数信息,参见我的上一篇文章sqoop(一)数据库数据导入hive
如果想用定时任务来自动调用sqoop,不能手动输入密码,那么就如上例所示,将数据库的连接密码保存到一个文件中,然后将--password
替换成--passsword-file
。然后设置sqoop-site.xml
中sqoop.metastore.client.record.password
为 true
。为防止被修改,将数据库密码文件权限建议设置为400权限。
查看已有的job列表:
sqoop job --list
执行sqoop任务:
sqoop job --exec job_dw_meta_table_v2
删除sqoop任务:
sqoop job --delete job_dw_meta_table_v2