コマンドラインインターフェース¶
概要¶
Presto コマンドラインインターフェース (CLI) は、クエリを実行するためのターミナルベースの対話型シェルであり、通常の UNIX 実行可能ファイルのように動作する自己実行可能 JAR ファイルです。Presto CLI は、Presto クライアント REST APIで説明されている REST API を使用して HTTP 経由で Presto サーバーと通信します。
Presto CLI をインストールするには、コマンドラインインターフェースを参照してください。
設定¶
Presto CLI は、プリセットオプションで設定されたless
プログラムを使用してクエリ結果をページ分割します。クエリ結果のページ分割を変更するには、環境変数PRESTO_PAGER
をmore
などの別のプログラムの名前に設定するか、ページ分割を無効にするために空の値に設定します。
Presto CLI を使用して Presto サーバーに接続する¶
--server
オプションを使用して CLI を実行することで、Presto サーバーに接続できます。
./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 ステートメントを実行し、ステートメントのクエリプランをplan.json
という名前のファイルに 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
バージョン情報を表示して終了する