我正在使用hadoop进行Map Reduce作业,其中运行作业的命令如下所示
jar path_to_jar.jar -Dmongo.input.query=' {"created_at":"2013-06-13"}' path_to_config_class
当我手动传递创建的日期时,这工作正常,但我应该如何使其动态,说我想在一天运行一次的cron作业中添加它,并且在运行时我需要采取 系统的当前日期和通过。
我发现我可以在Linux提示符下使用date +"%Y-%m-%d"
获取2013-06-13
(当前日期),但如何使用-D选项传递它?
感谢。
答案 0 :(得分:1)
试试这个:
$(date +%Y-%m-%d) //execute
所以你在终端窗口中的命令看起来像
jar path_to_jar.jar -Dmongo.input.query=' {"created_at":"'$(date +%Y-%m-%d)'"}' path_to_config_class
答案 1 :(得分:1)
您可以使用printf
命令:
# Generate query
QUERY=$(printf ' {"created_at":"%s"}' $(date +%Y-%m-%d))
# Use it as an argument
jar path_to_jar.jar -Dmongo.input.query="$QUERY" etc etc