当我试图通过shell脚本执行以下2个查询时,我无法回显输出:
Querys:
close_val=`hive -e "select count(1) from tst_db.dim_calendar where calendar_id =20171102"`
close_val=$(hive -S -e "USE cars_dev; select count(1) from dim_calendar where calendar_id =20171103")
echo $close_val错误:
2017-11-03 00:55:11,505 INFO main Configuration.deprecation Configuration.deprecation- mapred.input.dir.recursive被否决.相反,使用mapreduce.input.fileinputformat.input.dir.recursive 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1011)) - mapred.max.split.size是不推荐的。相反,使用mapreduce.input.fileinputformat.split.maxsize 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation - mapred.min.split.size是不推荐的。相反,使用mapreduce.input.fileinputformat.split.minsize 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation - mapred.min.split.size.per.rack是不推荐的。相反,使用mapreduce.input.fileinputformat.split.minsize.per.rack 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1011)) - mapred.min.split.size.per.node是不推荐的。相反,使用mapreduce.input.fileinputformat.split.minsize.per.node 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1011)) - mapred.reduce.tasks是不推荐的。相反,使用mapreduce.job.reduces 2017-11-03 00:55:11,508 INFO主要Configuration.deprecation - mapred.reduce.tasks.speculative.execution是不推荐的。相反,使用mapreduce.reduce.speculative 2017-11-03 00:55:11,715警告主conf.HiveConf (HiveConf.java:initialize(1155)) -反对:配置属性hive.metastore.local不再有任何影响。如果您正在连接到远程转移,请确保为hive.metastore.uris提供一个有效值。1./run_ many _jobs_night.sh. 42:第42行:[:太多的参数
发布于 2017-11-03 14:08:44
我不确定您期望如何处理close_val值,但在您的情况下,您似乎希望得到一个数字,然而,似乎存在一个问题,您可以得到一个堆栈跟踪。接收到的跟踪不是一个简单的字符串,而是被视为回显的几个参数,这些参数超过了它处理的数字。
使用如下命令:
$ # Notice the cut at the end of the command
$ close_val=$(hive -S -e "USE cars_dev; select count(1) from dim_calendar where calendar_id =20171103" | cut -f 1)将确保您的echo命令能够工作,但在这里,真正的问题是您的hive命令失败了。
https://stackoverflow.com/questions/47089964
复制相似问题