1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

Impala-shellコマンドパラメータの実装

2022-02-07 13:36:49

さて、さっそく本題に入りましょう。

1. impala-shellの外部コマンド

外部コマンドとは command arguments that can be executed without going to the impala-shell interactive command line impala-shellは後から多くの引数をつけて実行することができます。を追加することができます。

when starting impala-shell to modify the command execution environment.


impala-shell -h

は、ヘルプマニュアルを表示するのに役立ちます。

例えば、よくあるものをいくつか。

  • impala-shell -r impalaのメタデータをリフレッシュすると、接続確立後にREFRESH文を実行したのと同じ効果がある
  • impala-shell -f ファイルパス 実行が参照するSQLクエリファイルです。
  • impala-shell -i impaladデーモンが動作しているホストに接続するように指定します。デフォルトのポートは 21000 で、impalad を実行しているクラスタ内の任意のホストに接続できます。
  • impala-shell -o 実行結果をファイルに保存します。

2. impala-shell内部コマンド

内部コマンドというのは

The syntax that can be executed after entering the impala-shell command line.







connect hostname

指定されたマシンのインパルスに接続して実行する。

refresh dbname.tablename テーブルのメタデータをリフレッシュするインクリメンタルリフレッシュは、主にハイブのデータテーブルで変更されたデータをリフレッシュするために使用されます。

invalidate metadata フルリフレッシュは、よりパフォーマンスを重視し、主にハイブで新しいデータベースやデータベーステーブルを作成するときに使用されます。

quit/exit command Impalaシェルからイジェクトする

The explain command sql文の実行計画を表示するために使用します。


説明の値は0,1,2,3のようないくつかの値に設定することができ、レベル3は最も高く、最も完全な情報を印刷することができます。

set explain_level=3;


The profile command

sql文の実行後に実行すると、主にクエリ結果の閲覧やクラスタのチューニングなどのために、より詳細な実行手順が出力されます。

Note :もし hive window to insert data または新しく作成されたデータベースやデータベーステーブルの場合、impala では直接クエリできない。 You need to perform an invalidate metadata を使用して、メタデータの更新を通知します。

impala-shell で挿入したデータは、データベースを更新することなく直接 impala で照会することができます。これは、impala version 1.2 以降に追加されたモジュールで、imala 間のメタデータの同期を主な役割とする catalog の機能を利用して実現されています。

更新操作はCatalogに通知され、Catalogはブロードキャストによって他のImpaladプロセスに通知します。デフォルトでは、Catalogはメタデータを非同期にロードするため、クエリーはメタデータのロードが完了するまで待たされることがあります(最初のロード)。