有没有办法用带参数的sql脚本运行impala shell?
Posted
技术标签:
【中文标题】有没有办法用带参数的sql脚本运行impala shell?【英文标题】:Is there any way to run impala shell with sql script with parameters? 【发布时间】:2015-02-09 21:06:32 【问题描述】:有什么方法可以使用带参数的 SQL 脚本运行 impala shell?
例如:
impala-shell -f /home/john/sql/load.sql /dir1/dir2/dir3/data_file
我遇到了错误:
错误,无法解析参数“-f /home/john/sql/load.sql /dir1/dir2/dir3/data_file”
【问题讨论】:
【参考方案1】:此功能在 CDH 5.7 / Impala 2.5 及更高版本中可用。
--var 选项允许您将替换变量传递给由该 impala-shell 会话执行的语句,例如由 -f 选项处理的脚本文件中的语句。您可以使用符号 --var=variable_name=value 在命令行上对替换变量进行编码。在 SQL 语句中,您可以使用符号 $var:variable_name 替换值。
直接在文档中查看更多详细信息:https://www.cloudera.com/documentation/enterprise/latest/topics/impala_set.html
【讨论】:
【参考方案2】:不,你可以用-f
指定一个sql语句文件,但它不带参数文件。有关更多详细信息,请参阅 impala-shell 文档:
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/impala_impala_shell.html
【讨论】:
这个答案对于 2.5 下的 Impala 版本是正确的,今天感谢@Raja 的答案以上是关于有没有办法用带参数的sql脚本运行impala shell?的主要内容,如果未能解决你的问题,请参考以下文章
当列数不相等而不将每个列定义为 NuLL 时,有没有办法在 Impala SQL 中合并两个表
Impala使用SQL即席查询出现AnalysisException: Could not resolve table reference:的解决办法