Impala - 如何在查询中设置变量?

时间:2014-11-26 10:16:20

标签: hadoop hive impala

如何在Impala查询中设置变量?

在SQL中:

select * from users where id=(@id:=123)

在Impala中:

impala-shell> ?

Impala版本是v2.0.0。任何建议将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:2)

impala-shell> set var:id=123;select * from users where id=${VAR:id};

此变量也可以使用--var

从命令行传递
impala-shell --var id=123
impala-shell> select * from users where id=${VAR:id};

答案 1 :(得分:1)

有一个开放的功能请求,用于向impala-shell添加变量替换支持:IMPALA-1067,以模仿Hive的类似功能(hive --hivevar param=60${hivevar:param}的查询中替换60 )。

您也可以在其他SQL上下文中使用变量(例如,来自JDBC客户端),我甚至无法找到它的打开请求...您可能想要打开它的请求:{ {3}}

答案 2 :(得分:0)

impala-shell -i node.domain:port -B --var"table=metadata" --var="db=transaction" -f "file.sql"

file.sql:

  

SELECT * FROM $ {var:db}。$ {var:table}“