我可以在不指定 --server 或 --catalog 的情况下执行 presto CLI

Can I execute presto CLI without specifying --server or --catalog

我想知道我可以在哪里配置执行 presto CLI 时要使用的默认目录和服务器值。

Presto CLI 信息:

ls -lthr /opt/presto-server-0.169/presto

/opt/presto-server-0.169/presto -> presto-cli-0.169-executable.jar

而不是执行:

/opt/presto-server-0.169/presto --server localhost:6666 --schema abc --catalog catalog-1

我要执行:

/opt/presto-server-0.169/presto

它选择 localhost:6666 作为我的服务器,catalog-1 作为我的目录。我想在建立连接后指定架构。

任何帮助将不胜感激!

谢谢。

没有这样的选项可以在控制台中懒惰地设置主机。默认情况下需要预先定义服务器 localhost:8080

如果您无法将正确的参数传递给 presto-cli 并且无法使用默认服务器主机,您可以更改 presto-cli 源代码中的默认值并编译您的版本。

  • 您需要在 github 签出项目。
  • 更改 ClientOptions 中的默认值。
  • presto cli 的打包 jar:cd presto-cli && mvn package
  • 您可以在 target/presto-cli-0.201-SNAPSHOT.jar
  • 中找到一个 jar

对于schema/catalog,您可以使用USE命令在控制台中定义它。语法如下:USE [<catalog>.]<schema>.

请注意,对于每个版本的 presto,您还需要编译和维护自己的 presto-cli 版本,这可能很快就会成为一种负担。