Oozie执行Shell,传入参数
1. 新建一个workflow
2. 拖入一个shell
3. shell脚本如下
#!/bin/sh sqoop import --connect jdbc:mysql://localhost:3306/spider_new --username root --password 1234qwer --target-dir /user/fengz/brand/spider_data/amac/amac_fund_$1 --delete-target-dir --fields-terminated-by '`' --query select * from amac_fund where update_time between '$2' and '$3' and $CONDITIONS -m 1
这是在命令行可执行的命令,其中有三个动态参数,$1、$2、$3,此处做了一个import的导入操作,把指定数据抽取到HDFS路径下,用了--query写SQL语句抽取想要的数据,此处需要注意,如果使用--query,必须要带$CONDITIONS,否则执行失败。
4. 添加参数
5. 启动,填入参数
6. 这样就避免了在oozie使用sqoop时参数不能带空格的情况