命令列介面¶
概觀¶
Presto 命令列介面 (CLI) 是一個基於終端的互動式殼層,用於執行查詢,並且是一個 自執行 JAR 檔案,其行為類似於一般的 UNIX 可執行檔。Presto CLI 使用 REST API 通過 HTTP 與 Presto 伺服器通信,相關文件位於 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 <存取權杖>] [–catalog <目錄>]
[–client-info <客戶端資訊>] [–client-request-timeout <客戶端請求逾時>] [–client-tags <客戶端標籤>] [–debug] [–disable-compression] [–execute <執行>] [–extra-credential <額外憑證>…] [(-f <檔案> | –file <檔案>)] [(-h | –help)] [–http-proxy <http 代理>] [–ignore-errors] [–keystore-password <金鑰儲存密碼>] [–keystore-path <金鑰儲存路徑>] [–krb5-config-path <krb5 設定路徑>] [–krb5-credential-cache-path <krb5 憑證快取路徑>] [–krb5-disable-remote-service-hostname-canonicalization] [–krb5-keytab-path <krb5 金鑰表路徑>] [–krb5-principal <krb5 主體>] [–krb5-remote-service-name <krb5 遠端服務名稱>] [–log-levels-file <記錄層級檔案>] [–output-format <輸出格式>] [–password] [–resource-estimate <資源預估>…] [–schema <綱要>] [–server <伺服器>] [–session <會話>…] [–socks-proxy <socks 代理>] [–source <來源>] [–truststore-password <信任儲存密碼>] [–truststore-path <信任儲存路徑>] [–user <使用者>] [–version]
- 選項
- --access-token <存取權杖>
存取權杖
- --catalog <目錄>
預設目錄
- --client-info <客戶端資訊>
關於客戶端發出查詢的其他資訊
- --client-request-timeout <客戶端請求逾時>
客戶端請求逾時 (預設:2 分鐘)
- --client-tags <客戶端標籤>
客戶端標籤
- --debug
啟用偵錯資訊
- --disable-compression
停用查詢結果的壓縮
- --execute <執行>
執行指定的語句並結束
- --extra-credential <額外憑證>
額外憑證 (屬性可使用多次;格式為 key=value)
- -f <檔案>, --file <檔案>
從檔案執行語句並結束
- -h, --help
顯示說明資訊
- --http-proxy <http 代理>
用於伺服器連線的 HTTP 代理
- --ignore-errors
發生錯誤時在批次模式中繼續處理 (預設為立即結束)
- --keystore-password <金鑰儲存密碼>
金鑰儲存密碼
- --keystore-path <金鑰儲存路徑>
金鑰儲存路徑
- --krb5-config-path <krb5 設定路徑>
Kerberos 設定檔路徑 (預設:/etc/krb5.conf)
- --krb5-credential-cache-path <krb5 憑證快取路徑>
Kerberos 憑證快取路徑
- --krb5-disable-remote-service-hostname-canonicalization
停用使用 DNS 反向查詢的服務主機名稱正規化
- --krb5-keytab-path <krb5 金鑰表路徑>
Kerberos 金鑰表路徑 (預設:/etc/krb5.keytab)
- --krb5-principal <krb5 主體>
要使用的 Kerberos 主體
- --krb5-remote-service-name <krb5 遠端服務名稱>
遠端對等點的 Kerberos 服務名稱
- --log-levels-file <記錄層級檔案>
使用此檔案設定偵錯的記錄層級
- --output-format <輸出格式>
批次模式的輸出格式 [ALIGNED、VERTICAL、CSV、TSV、CSV_HEADER、TSV_HEADER、NULL] (預設:CSV)
- --password
提示輸入密碼
- --resource-estimate <資源預估>
資源預估 (屬性可使用多次;格式為 key=value)
- --runtime-stats
啟用執行階段統計資訊。此旗標必須與 –debug 旗標一起使用
- --schema <綱要>
預設綱要
- --server <伺服器>
Presto 伺服器位置 (預設:localhost:8080)
- --session <會話>
會話屬性 (屬性可使用多次;格式為 key=value;使用 'SHOW SESSION' 查看可用的屬性)
- --socks-proxy <socks 代理>
用於伺服器連線的 SOCKS 代理
- --source <來源>
發出查詢的來源名稱
- --truststore-password <信任儲存密碼>
信任儲存密碼
- --truststore-path <信任儲存路徑>
信任儲存路徑
- --user <使用者>
使用者名稱
- --version
顯示版本資訊並結束