QHMM Shell 脚本的使用
本主题介绍如何使用 qhmm_usr_export.sh 和 qhmm_import_sre.sh 这两个 shell 脚本在 QHMM 中处理诊断数据。
先决条件
管理员必须从 IBM 支持团队获取 QHMM Shell 脚本。
qhmm_usr_export.sh
该脚本允许用户从 QHMM 诊断桶中捆绑诊断数据文件,并与支持团队共享压缩诊断文件,以便进一步分析。 (可以通过将它们上传到增强型客户数据存储库 (ECuRep)来实现)。 脚本接受用于配置的命令行参数,也可以使用默认值运行。
-
-e: ENDPOINT(默认值:无)- 存储端点。
-
-r:REGION(默认值:无)- 存储区域。
-
-b: BUCKET_NAME(默认值:无)-- 料桶的名称。
-
-a:ACCESS_KEY(默认值:无)- 存储的访问密钥。
-
-s:SECRET_KEY(默认值:无)- 用于存储的密钥。
-
-i:WXD_INSTANCE_ID(默认值:无)- WXD 的实例 ID。
-
-t:ENGINE_TYPE(默认值:无)- 引擎类型(例如,Presto)。
-
-d: ENGINE_ID(默认值:无)- 引擎的 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(默认值:无)- 存储端点。
-
-r:REGION(默认值:无)- 存储区域。
-
-b: BUCKET_NAME(默认值:无)-- 料桶的名称。
-
-a:ACCESS_KEY(默认值:无)- 存储的访问密钥。
-
-s:SECRET_KEY(默认值:无)- 用于存储的密钥。
-
-i:WXD_INSTANCE_ID(默认值:无)- WXD 的实例 ID。
-
-t:ENGINE_TYPE(默认值:无)- 引擎类型(例如,Presto)。
-
-d: ENGINE_ID(默认值:无)- 引擎的 ID。
-
-p:COMPRESSED_FILE(默认值:/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']
);`