Uso de QHMM Shell Script

Este tema proporciona instrucciones sobre el uso de dos scripts de shell, qhmm_usr_export.sh y qhmm_import_sre.sh, para el manejo de datos de diagnóstico en QHMM.

Requisitos previos

El administrador debe obtener el QHMM Shell Script del equipo de soporte de IBM.

qhmm_usr_export.sh

Este script permite a los usuarios agrupar archivos de datos de diagnóstico de su cubo de diagnóstico QHMM y compartir el archivo de diagnóstico comprimido con el equipo de soporte para su posterior análisis. (Esto puede hacerse cargándolos en un Depósito de Datos de Clientes Mejorado (ECuRep)). El script acepta argumentos de línea de comandos para su configuración o puede ejecutarse con valores por defecto.

  • -e: ENDPOINT (por defecto: ninguno)- El punto final de almacenamiento.

  • -r: REGIÓN (por defecto: ninguna)- La región de almacenamiento.

  • -b: BUCKET_NAME (por defecto: none)- El nombre del cubo.

  • -a: CLAVE_ACCESO (por defecto: ninguna)- La clave de acceso para el almacenamiento.

  • -s: SECRET_KEY (por defecto: ninguna)- La clave secreta para el almacenamiento.

  • -i: WXD_INSTANCE_ID (por defecto: ninguno)- El ID de instancia de WXD.

  • -t: ENGINE_TYPE (por defecto: ninguno)- El tipo de motor (por ejemplo, Presto).

  • -d: ENGINE_ID (por defecto: none)- El ID del motor.

--data-type: los datos que se van a exportar (soporte Dump, QueryEvent, y QueryHistory ).

  • -p: DOWNLOAD_DIR (por defecto: /root/data)- La carpeta de destino para los archivos descargados.

  • -x: START_DATE (por defecto: últimas 24 horas)- La fecha de inicio para filtrar objetos.

  • -y: END_DATE (por defecto: fecha actual)- La fecha final para filtrar objetos.

  • -h, --base-path- Ruta base en el cubo.

Mandato de ejemplo:

./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

Este script está pensado para que el equipo de soporte recupere datos de diagnóstico de un Repositorio de datos de clientes mejorado (ECuRep) y los cargue en un bucket del equipo de soporte para su posterior análisis. Al igual que el primer script, puede configurarse utilizando argumentos de la línea de comandos o ejecutarse con los valores predeterminados.

  • -e: ENDPOINT (por defecto: ninguno)- El punto final de almacenamiento.

  • -r: REGIÓN (por defecto: ninguna)- La región de almacenamiento.

  • -b: BUCKET_NAME (por defecto: none)- El nombre del cubo.

  • -a: CLAVE_ACCESO (por defecto: ninguna)- La clave de acceso para el almacenamiento.

  • -s: SECRET_KEY (por defecto: ninguna)- La clave secreta para el almacenamiento.

  • -i: WXD_INSTANCE_ID (por defecto: ninguno)- El ID de instancia de WXD.

  • -t: ENGINE_TYPE (por defecto: ninguno)- El tipo de motor (por ejemplo, Presto).

  • -d: ENGINE_ID (por defecto: none)- El ID del motor.

  • -p: ARCHIVO_COMPRIMIDO (por defecto: /root/data/bundle.zip)- La carpeta de origen del archivo comprimido.

Mandato de ejemplo:

./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

Este script permite a los usuarios transferir datos QHMM del bucket de origen al bucket de destino. El script de migración puede configurarse utilizando los siguientes argumentos de la línea de comandos o ejecutarse con los valores predeterminados:

-se: --source-endpoint- Endpoint URL del almacenamiento de origen S3-compatible (por defecto: http://localhost:9000 )

-se: --source-endpoint- Endpoint URL del almacenamiento de origen S3-compatible (por defecto: http://localhost:9000 )

-sr: --source-region- Región del almacenamiento de origen S3-compatible (por defecto: us-east-1 )

-sb: --source-bucket- Nombre del cubo de origen (obligatorio)

-sa: --source-access-key- Clave de acceso para el almacenamiento de origen (obligatorio)

-ss: --source-secret-key- Clave secreta para el almacenamiento de origen (obligatorio)

-sbp: --source-base-path- Ruta base en el bucket de origen (por defecto: qhmm)

-de: --dest-endpoint- Punto final URL del almacenamiento de destino S3-compatible (por defecto: http://localhost:9000 )

-dr: --dest-region- Región del almacenamiento de destino S3-compatible (por defecto: us-east-1 )

-db: --dest-bucket- Nombre del cubo de destino (obligatorio)

-da: --dest-access-key- Clave de acceso para el almacenamiento de destino (obligatorio)

-ds: --dest-secret-key- Clave secreta para el almacenamiento de destino (obligatorio)

-dbp: --dest-base-path- Ruta base en el bucket de destino (por defecto: qhmm)

-bp: --base-path- Ruta base en el cubo (por defecto: qhmm)

  • -i: --instance-id- ID de instancia (obligatorio)

  • -t: --engine-type- Tipo de motor (obligatorio)

  • -d: --engine-id- ID del motor (obligatorio)

  • -x: --start-date- Fecha de inicio para filtrar objetos (DD-MM-AAAA, opcional)

  • -y: --end-date- Fecha final para filtrar objetos (DD-MM-AAAA, opcional)

  • --data-type- Datos a exportar (tipos admitidos: Dump, QueryEvent, QueryHistory, opcional)

  • --max-size- Tamaño máximo de descarga en MB (por defecto: 500MB )

  • --help- Mostrar esta ayuda y salir

Mandato de ejemplo:

./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>

Gestión manual de los datos de diagnóstico

  1. Ejecute el siguiente comando para crear una tabla que almacene los datos de eventos de consulta generados mediante 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']
);`
  1. Ejecute el siguiente comando para crear una tabla que almacene los datos del historial de consultas en formato 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']
);`