QHMMシェルスクリプトの使い方
このトピックでは、qhmm_usr_export.sh と qhmm_import_sre.sh の2つのシェルスクリプトを使ってQHMMの診断データを扱う方法を説明します。
前提条件
管理者はIBMサポートチームからQHMMシェルスクリプトを入手する必要があります。
qhmm_usr_export.sh
このスクリプトにより、ユーザーはQHMM診断バケットから診断データファイルをバンドルし、圧縮された診断ファイルをサポートチームと共有することができます。 (これは、強化された顧客データリポジトリ(ECuRep)にアップロードすることで可能です)。 スクリプトは、設定のためのコマンドライン引数を受け付けるか、デフォルト値で実行することができる。
-
-e: ENDPOINT (default: none)- ストレージ・エンドポイント。
-
-r:REGION (default: none)- ストレージ領域。
-
-b: BUCKET_NAME (default: none)- バケツの名前。
-
-a:ACCESS_KEY (default: none)- ストレージのアクセス・キー。
-
-s: SECRET_KEY (default: none)- ストレージの秘密鍵。
-
-i:WXD_INSTANCE_ID (default: none)- WXDのインスタンスID。
-
-t: ENGINE_TYPE (default: none)- エンジンのタイプ (例: Presto).
-
-d: ENGINE_ID (default: none)- エンジンのID。
• --data-type- エクスポートするデータ(Dump、 QueryEvent,、 QueryHistory をサポート)。
-
-p:DOWNLOAD_DIR (デフォルト: /root/data)- ダウンロードしたファイルの保存先フォルダ。
-
-x: START_DATE (デフォルト: 直近24時間)- オブジェクトのフィルタリングの開始日。
-
-y: END_DATE (デフォルト: 現在の日付)- オブジェクトのフィルタリングの終了日。
-
-h, --base-path- バケツのベースパス。
コマンド例:
./qhmm_usr_export.sh -e <ENDPOINT> -r <REGION> -b <BUCKET_NAME> -a <ACCESS_KEY> -s <SECRET_KEY> -i <WXD_INSTANCE_ID> -t <ENGINE_TYPE> -d <ENGINE_ID> -p <DOWNLOAD_DIR> -x <START_DATE> -y <END_DATE>
qhmm_import_sre.sh
このスクリプトは、サポート チームが拡張顧客データ リポジトリ (ECuRep) から診断データを取得し、さらに分析するためにサポート チームのバケットにアップロードするためのものです。 最初のスクリプトと同様に、コマンドライン引数を使って設定することも、デフォルト値で実行することもできる。
-
-e: ENDPOINT (default: none)- ストレージ・エンドポイント。
-
-r:REGION (default: none)- ストレージ領域。
-
-b: BUCKET_NAME (default: none)- バケツの名前。
-
-a:ACCESS_KEY (default: none)- ストレージのアクセス・キー。
-
-s: SECRET_KEY (default: none)- ストレージの秘密鍵。
-
-i:WXD_INSTANCE_ID (default: none)- WXDのインスタンスID。
-
-t: ENGINE_TYPE (default: none)- エンジンのタイプ (例: Presto).
-
-d: ENGINE_ID (default: none)- エンジンのID。
-
-p:COMPRESSED_FILE (default: /root/data/bundle.zip)- 圧縮元フォルダ。
コマンド例:
./qhmm_import_sre.sh -e <ENDPOINT> -r <REGION> -b <BUCKET_NAME> -a <ACCESS_KEY> -s <SECRET_KEY> -i <WXD_INSTANCE_ID> -t <ENGINE_TYPE> -d <ENGINE_ID> -p <COMPRESSED_FILE>
bucket_data_migration.sh
このスクリプトにより、ユーザーはQHMMデータをソースバケットからデスティネーションバケットに転送することができる。 移行スクリプトは、以下のコマンドライン引数を使用して設定するか、デフォルト値で実行することができます:
-se: --source-endpoint- ソース S3-compatible ストレージのエンドポイント URL (デフォルト: http://localhost:9000 )
-se: --source-endpoint- ソース S3-compatible ストレージのエンドポイント URL (デフォルト: http://localhost:9000 )
-sr: --source-region- S3-compatible ストレージ・ソースのリージョン(デフォルト: us-east-1 )
-sb: --source-bucket- ソースバケツの名前 (必須)
-sa: --source-access-key- ソース・ストレージのアクセス・キー(必須)
-ss: --source-secret-key- ソース・ストレージの秘密鍵(必須)
-sbp: --source-base-path- ソースバケツ内のベースパス (デフォルト: qhmm)
- de: --dest-endpoint- S3-compatible ストレージのエンドポイント URL (デフォルト: http://localhost:9000 )
-dr: --dest-region- インストール先 S3-compatible ストレージのリージョン(デフォルト: us-east-1 )
-db: --dest-bucket- インストール先のバケツ名(必須)
-da: --dest-access-key- 保存先ストレージのアクセスキー(必須)
-ds: --dest-secret-key- 保存先の秘密鍵(必須)
-dbp: --dest-base-path- インストール先バケツのベースパス(デフォルト:qhmm)
-bp: --base-path- バケツ内のベースパス (デフォルト: qhmm)
-
-i: --instance-id- インスタンスID(必須)
-
-t: --engine-type- エンジンタイプ(必須)
-
-d: --engine-id- エンジンID(必須)
-
-x: --start-date- オブジェクトのフィルタリング開始日(DD-MM-YYYY、オプション)
-
-y: --end-date- オブジェクトのフィルタリングの終了日(DD-MM-YYYY、オプション)
-
--data-type- エクスポートされるデータ(サポートされるタイプ:Dump, QueryEvent, QueryHistory, オプション)
-
--max-size- MB単位の最大ダウンロードサイズ(デフォルト: 500MB )
-
--help- このヘルプを表示して終了する
コマンド例:
./bucket_data_migration.sh \
--source-endpoint <source-endpoint> \
--source-bucket <source-bucket> \
--source-access-key <source-access-key> \
--source-secret-key <source-secret-key> \
--source-base-path <source-base-path> \
--dest-endpoint <dest-endpoint> \
--dest-bucket <dest-bucket> \
--dest-access-key <dest-access-key> \
--dest-secret-key <dest-secret-key> \
--dest-base-path <dest-base-path> \
--instance-id <instance-id> \
--engine-type <engine-type> \
--engine-id <engine-id> \
--start-date <start-date> \
--end-date <end-date> \
--data-type <data-type> \
--max-size <max-size>
マニュアル方式による診断データの管理
- 以下のコマンドを実行して、
qhmm_import_sre.shを使って生成されたクエリーイベントデータを格納するテーブルを作成します:
` CREATE TABLE IF NOT EXISTS <catalog>.diag.query_event_raw (
record VARCHAR,
dt VARCHAR
)
WITH (
external_location = 's3a://<bucket>/qhmm/<instance-id>/<engine>/<engine-id>/QueryEvent/',
format = 'textfile',
partitioned_by = ARRAY['dt']
);`
- 以下のコマンドを実行して、クエリー履歴データをJSON形式で格納するテーブルを作成する:
` CREATE TABLE IF NOT EXISTS <catalog>.diag.query_history(
query_id VARCHAR,
query VARCHAR,
state VARCHAR,
source VARCHAR,
created VARCHAR,
started VARCHAR,
"end" VARCHAR,
dt VARCHAR,
user VARCHAR)
WITH (
external_location = 's3a://<bucket>/qhmm/<instance-id>/<engine>/<engine-id>/QueryHistory/',
format = 'JSON',
partitioned_by = ARRAY['dt','user']
);`