我有一个Cloudera集群,多个impala作业一直在运行(即包含impala-shell命令的cronjobs)。但是我有一些异常长的INSERT INTO查询:它们包含很多'CASE ... WHEN ...... THEN'行。当这些查询在impala-shell中运行时,命令失败并显示错误“参数列表太长”。它们在Hue中运行得很好,但无法让它们在命令行上运行。 这有什么变通方法吗?
我尝试通过Hive beeline(而不是impala)运行命令并设置'hive.script.operator.truncate.env = true'。直线因同样的错误而失败。我试过从一个单独的文件调用查询有什么不同(它没有)。我可以在单独的变量中保存'CASE ... WHEN ... THEN'行(使用'set')并在查询中调用它们吗?或者这会是另一个死胡同?一位同事提到用户定义函数(UDF)可能有所帮助,但我不确定。意见?