【问题标题】:Parameterized SQL in Presto on Presto CLIPresto CLI 上 Presto 中的参数化 SQL
【发布时间】:2018-02-16 04:38:30
【问题描述】:

是否有任何选项可以在 Presto CLI 上提供参数。

我正在尝试将我的 impala-shell 命令更改为 Presto,其中我的 HQL 文件从 impala 的命令行获取参数,如下所示。

impala-shell -f ot_full.hql --var=date_next=${date_next_para} --var=yrmth=${yrmth_para} --var=yrmth_L12=${yrmth_L12_para} --var=pyrmth=${pyrmth_para}

presto 中的WITH 子句没有太大帮助。

我们如何将其转换为 Presto 命令行。

我在https://prestodb.io/docs/current/ 中没有找到任何文档/示例

【问题讨论】:

  • 也许没那么有用,但是sed: about cat ot_full.hql | sed -e "s/date_next/${date_next_para}/" .. | presto-cli 的注入参数是什么?

标签: presto trino


【解决方案1】:

Presto .CLI 不支持此功能,因此您需要先替换 SQL 查询中的变量,然后再将其传递给 CLI。一种方法是直接在 shell 中执行此操作:

presto --execute "SELECT * FROM table WHERE ds >= '${date_next_para}'"

对于更长的查询,使用here document 是一个不错的选择。

【讨论】:

  • 当然给定的解决方法会起作用,但我们是否有计划在未来的开发中提供此类功能?
  • @Shawn 看起来像一个流行的功能请求,但没有实现github.com/prestodb/presto/issues/5918
猜你喜欢
  • 2019-01-21
  • 2021-01-31
  • 1970-01-01
  • 2019-06-22
  • 2017-12-17
  • 2021-02-19
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多