コマンドラインインターフェース

概要

Presto コマンドラインインターフェース (CLI) は、クエリを実行するためのターミナルベースの対話型シェルであり、通常の UNIX 実行可能ファイルのように動作する自己実行可能 JAR ファイルです。Presto CLI は、Presto クライアント REST APIで説明されている REST API を使用して HTTP 経由で Presto サーバーと通信します。

Presto CLI をインストールするには、コマンドラインインターフェースを参照してください。

設定

Presto CLI は、プリセットオプションで設定されたlessプログラムを使用してクエリ結果をページ分割します。クエリ結果のページ分割を変更するには、環境変数PRESTO_PAGERmoreなどの別のプログラムの名前に設定するか、ページ分割を無効にするために空の値に設定します。

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

バージョン情報を表示して終了する