コマンドラインインターフェース¶
概要¶
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
- バージョン情報を表示して終了する