命令行界面¶
概述¶
Presto 命令行界面 (CLI) 是一个基于终端的交互式 shell,用于运行查询,它是一个 自执行 JAR 文件,就像一个普通的 UNIX 可执行文件。Presto CLI 通过 HTTP 使用 REST API 与 Presto 服务器通信,该 API 文档位于 Presto 客户端 REST API。
要安装 Presto CLI,请参阅 命令行界面。
配置¶
Presto CLI 使用 less
程序对查询结果进行分页,该程序配置了预设选项。要更改查询结果的分页方式,请将环境变量 PRESTO_PAGER
设置为其他程序的名称,例如 more
,或者将其设置为空值以禁用分页。
使用 Presto CLI 连接到 Presto 服务器¶
要连接到 Presto 服务器,请使用 --server
选项运行 CLI。
./presto --server localhost:8080 --catalog hive --schema default
localhost:8080
是 Presto 服务器的默认值,因此如果您的本地运行着 Presto 服务器,则可以省略它。
要连接到远程 Presto 服务器,请使用 Presto 终端 URL,如以下示例命令所示
./presto --server http://www.example.net:8080
示例¶
以 JSON 格式提取查询计划¶
以下示例使用 --execute
对指定的目录和模式运行 SQL 语句,并将语句的查询计划以 JSON 格式保存在名为 plan.json
的文件中。
./presto --catalog catalogname --schema tpch \
--execute 'EXPLAIN (format JSON) SELECT 1 from lineitem' \
--output-format JSON | jq '.["Query Plan"] | fromjson' > plan.json
在线帮助¶
使用 --help
选项运行 CLI 以查看在线帮助。
./presto --help
- 摘要
- presto [–access-token <access token>] [–catalog <catalog>]
[–client-info <client-info>] [–client-request-timeout <client request timeout>] [–client-tags <client tags>] [–debug] [–disable-compression] [–execute <execute>] [–extra-credential <extra-credential>…] [(-f <file> | –file <file>)] [(-h | –help)] [–http-proxy <http-proxy>] [–ignore-errors] [–keystore-password <keystore password>] [–keystore-path <keystore path>] [–krb5-config-path <krb5 config path>] [–krb5-credential-cache-path <krb5 credential cache path>] [–krb5-disable-remote-service-hostname-canonicalization] [–krb5-keytab-path <krb5 keytab path>] [–krb5-principal <krb5 principal>] [–krb5-remote-service-name <krb5 remote service name>] [–log-levels-file <log levels file>] [–output-format <output-format>] [–password] [–resource-estimate <resource-estimate>…] [–schema <schema>] [–server <server>] [–session <session>…] [–socks-proxy <socks-proxy>] [–source <source>] [–truststore-password <truststore password>] [–truststore-path <truststore path>] [–user <user>] [–version]
- 选项
- --access-token <access token>
访问令牌
- --catalog <catalog>
默认目录
- --client-info <client-info>
有关发出查询的客户端的额外信息
- --client-request-timeout <client request timeout>
客户端请求超时(默认:2m)
- --client-tags <client tags>
客户端标签
- --debug
启用调试信息
- --disable-compression
禁用查询结果的压缩
- --execute <execute>
执行指定的语句并退出
- --extra-credential <extra-credential>
额外的凭据(属性可以多次使用;格式为 key=value)
- -f <file>, --file <file>
从文件执行语句并退出
- -h, --help
显示帮助信息
- --http-proxy <http-proxy>
用于服务器连接的 HTTP 代理
- --ignore-errors
在发生错误时继续处理批处理模式(默认行为是立即退出)
- --keystore-password <keystore password>
密钥库密码
- --keystore-path <keystore path>
密钥库路径
- --krb5-config-path <krb5 config path>
Kerberos 配置文件路径(默认:/etc/krb5.conf)
- --krb5-credential-cache-path <krb5 credential cache path>
Kerberos 凭据缓存路径
- --krb5-disable-remote-service-hostname-canonicalization
禁用使用 DNS 反向查找的服务主机名规范化
- --krb5-keytab-path <krb5 keytab path>
Kerberos 密钥表路径(默认:/etc/krb5.keytab)
- --krb5-principal <krb5 principal>
要使用的 Kerberos 主体
- --krb5-remote-service-name <krb5 remote service name>
远程对端的 Kerberos 服务名称
- --log-levels-file <log levels file>
使用此文件配置调试的日志级别
- --output-format <output-format>
批处理模式的输出格式 [ALIGNED, VERTICAL, CSV, TSV, CSV_HEADER, TSV_HEADER, NULL](默认:CSV)
- --password
提示输入密码
- --resource-estimate <resource-estimate>
资源估计(属性可以多次使用;格式为 key=value)
- --runtime-stats
启用运行时统计信息。标志必须与 –debug 标志一起使用
- --schema <schema>
默认模式
- --server <server>
Presto 服务器位置(默认:localhost:8080)
- --session <session>
会话属性(属性可以多次使用;格式为 key=value;使用 ‘SHOW SESSION’ 查看可用属性)
- --socks-proxy <socks-proxy>
用于服务器连接的 SOCKS 代理
- --source <source>
发出查询的源名称
- --truststore-password <truststore password>
信任库密码
- --truststore-path <truststore path>
信任库路径
- --user <user>
用户名
- --version
显示版本信息并退出