在 Impala ,你可以这样做:从t1 limit cast中选择x(截断(9.9)为int);但在Hive里,它似乎只接受极限[常数]。有没有办法在limit中添加表达式?https://www.cloudera.com/documentation/enterprise/5-6-x/topics/impala_limit.html
x6yk4ghg1#
不幸的是,这在Hive中是不可能的。作为一种解决方法,您可以计算shell中的变量,并使用 --hivevar 变量。limit子句只允许每个计算变量或常量作为参数:带变量的演示。你也可以把它当作 --hivevar 配置单元命令行中的参数:
--hivevar
hive> set hivevar:limit=10; hive> select 10 limit ${hivevar:limit}; OK 10 Time taken: 0.098 seconds, Fetched: 1 row(s)
1条答案
按热度按时间x6yk4ghg1#
不幸的是,这在Hive中是不可能的。作为一种解决方法,您可以计算shell中的变量,并使用
--hivevar
变量。limit子句只允许每个计算变量或常量作为参数:带变量的演示。你也可以把它当作
--hivevar
配置单元命令行中的参数: