hadoop - 有没有办法在单独的文件中设置查询参数(变量)?

标签 hadoop impala

我有许多使用一组通用参数(变量)的 SQL 查询。目前,参数在每个 文件的顶部设置。当任何参数发生变化时,必须在每个文件中进行更改。如果能够将参数放在一个单独的文件中并且只在一个地方更改,那将是有益的。

如何实现?

我意识到我可以使用 --var 选项到 impala-shell,但这意味着必须多次输入这些。

我可以看到这可能发生的几种方式:

  1. impala-shell 可能支持多个 -f 参数:这会非常优雅,但事实并非如此。

  2. 可以将查询cat 在一起并通过管道传输到impala-shell。这是有用的但不优雅。

  3. 可以为指定--var 参数的impala-shell 设置别名。这可能很难做到正确。

显然 #1 是最好的解决方案,但还有其他选择或建议吗?

不太相关:Multiple query execution in cloudera impala

最佳答案

请查看 Impala 文档: https://www.cloudera.com/documentation/enterprise/5-15-x/topics/impala_shell_options.html#shell_options

此处粘贴相关部分:

-f query_file or --query_file=query_file

Passes a SQL query from a file. Multiple statements must be semicolon (;) delimited. In CDH 5.5 / Impala 2.3 and higher, you can specify a filename of - to represent standard input. This feature makes it convenient to use impala-shell as part of a Unix pipeline where SQL statements are generated dynamically by other tools.

如您所见,Impala 可以解析更多以分号 (;) 分隔的查询文件。这样,您可以使用 --var 参数完成您的第一个案例。

关于hadoop - 有没有办法在单独的文件中设置查询参数(变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52562058/

相关文章:

hadoop - Spark/Hadoop - 无法找到 DIGEST-MD5 的 SASL 服务器实现

hadoop - Cloudera Impala性能测试-空缓存

hadoop - 为LDAP用户调用时,Impala Shell挂起

hadoop - 使用 Piglatin 加载文本文件时跳过标题

Hadoop 字数统计示例失败并显示 'not a SequentialFile' 。如何设置文件格式?

hadoop - 如何在同一主机上的多个reducer之间共享数据

sql - Impala:LIKE无法捕获CONCAT输出

java - Hadoop SequenceFile-记录的自动增量键

string - 在 Impala 中将字符串转换为时间戳

impala - Impala 中无效元数据和刷新命令之间的区别?