Uso do QHMM Shell Script
Este tópico fornece instruções sobre o uso de dois scripts de shell, qhmm_usr_export.sh e qhmm_import_sre.sh, para o manuseio de dados de diagnóstico no QHMM.
Pré-requisitos
O administrador deve obter o QHMM Shell Script da equipe de suporte da IBM.
qhmm_usr_export.sh
Esse script permite que os usuários agrupem arquivos de dados de diagnóstico do seu bucket de diagnóstico QHMM e compartilhem o arquivo de diagnóstico compactado com a equipe de suporte para análise posterior. (Isso pode ser feito carregando-os em um Repositório de Dados de Clientes Aprimorados (Enhanced Customer Data Repository, ECuRep)). O script aceita argumentos de linha de comando para configuração ou pode ser executado com valores padrão.
-
-e: ENDPOINT (padrão: nenhum)- O ponto final do armazenamento.
-
-r: REGION (padrão: nenhum)- A região de armazenamento.
-
-b: BUCKET_NAME (padrão: nenhum)- O nome do compartimento.
-
-a: ACCESS_KEY (padrão: nenhum)- A chave de acesso para o armazenamento.
-
-s: SECRET_KEY (padrão: none)- A chave secreta do armazenamento.
-
-i: WXD_INSTANCE_ID (padrão: nenhum)- A ID da instância do WXD.
-
-t: ENGINE_TYPE (padrão: nenhum)- O tipo do mecanismo (por exemplo, Presto).
-
-d: ENGINE_ID (padrão: nenhum)- A ID do mecanismo.
-
--data-type- Os dados a serem exportados (suporte a Dump, QueryEvent, e QueryHistory ).
-
-p: DOWNLOAD_DIR (padrão: /root/data)- A pasta de destino dos arquivos baixados.
-
-x: START_DATE (padrão: últimas 24 horas)- A data de início para filtrar objetos.
-
-y: END_DATE (padrão: data atual)- A data final para filtrar objetos.
-
-h, --base-path- Caminho base no bucket.
Exemplo de comando:
./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
Esse script foi criado para que a equipe de suporte recupere dados de diagnóstico de um Repositório de Dados Avançados do Cliente (ECuRep) e os carregue em um bucket da equipe de suporte para análise posterior. Semelhante ao primeiro script, ele pode ser configurado usando argumentos de linha de comando ou executado com valores padrão.
-
-e: ENDPOINT (padrão: nenhum)- O ponto final do armazenamento.
-
-r: REGION (padrão: nenhum)- A região de armazenamento.
-
-b: BUCKET_NAME (padrão: nenhum)- O nome do compartimento.
-
-a: ACCESS_KEY (padrão: nenhum)- A chave de acesso para o armazenamento.
-
-s: SECRET_KEY (padrão: none)- A chave secreta do armazenamento.
-
-i: WXD_INSTANCE_ID (padrão: nenhum)- A ID da instância do WXD.
-
-t: ENGINE_TYPE (padrão: nenhum)- O tipo do mecanismo (por exemplo, Presto).
-
-d: ENGINE_ID (padrão: nenhum)- A ID do mecanismo.
-
-p: COMPRESSED_FILE (padrão: /root/data/bundle.zip)- A pasta de origem do arquivo compactado.
Exemplo de comando:
./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
Esse script permite que os usuários transfiram dados QHMM do compartimento de origem para o compartimento de destino. O script de migração pode ser configurado usando os seguintes argumentos de linha de comando ou executado com os valores padrão:
-se: --source-endpoint- Ponto de extremidade URL do armazenamento de origem S3-compatible (padrão: http://localhost:9000 )
-se: --source-endpoint- Ponto de extremidade URL do armazenamento de origem S3-compatible (padrão: http://localhost:9000 )
-sr: --source-region- Região do armazenamento de origem S3-compatible (padrão: us-east-1 )
-sb: --source-bucket- Nome do bucket de origem (obrigatório)
-sa: --source-access-key- Chave de acesso para o armazenamento de origem (obrigatório)
-ss: --source-secret-key- Chave secreta para armazenamento de origem (obrigatório)
-sbp: --source-base-path- Caminho de base no bucket de origem (padrão: qhmm)
-de: --dest-endpoint- Ponto de extremidade URL do armazenamento de destino S3-compatible (padrão: http://localhost:9000 )
-dr: --dest-region- Região do armazenamento de destino S3-compatible (padrão: us-east-1 )
-db: --dest-bucket- Nome do bucket de destino (obrigatório)
-da: --dest-access-key- Chave de acesso para o armazenamento de destino (obrigatório)
-ds: --dest-secret-key- Chave secreta para o armazenamento de destino (obrigatório)
-dbp: --dest-base-path- Caminho base no bucket de destino (padrão: qhmm)
-bp: --base-path- Caminho base no bucket (padrão: qhmm)
-
-i: --instance-id- ID da instância (obrigatório)
-
-t: --engine-type- Tipo de motor (obrigatório)
-
-d: --engine-id- ID do motor (obrigatório)
-
-x: --start-date- Data de início para filtragem de objetos (DD-MM-AAAA, opcional)
-
-y: --end-date- Data final para filtragem de objetos (DD-MM-AAAA, opcional)
-
--data-type- Dados a serem exportados (tipos compatíveis: Dump, QueryEvent, QueryHistory, opcional)
-
--max-size- Tamanho máximo do download em MB (padrão: 500MB )
-
--help- Exibir esta ajuda e sair
Exemplo de comando:
./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>
Gerenciamento de dados de diagnóstico por método manual
- Execute o seguinte comando para criar uma tabela para armazenar os dados do evento de consulta gerados usando
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']
);`
- Execute o seguinte comando para criar uma tabela para armazenar os dados do histórico de consultas no 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']
);`