A tabela a seguir lista o BigQuery, o Cloud Storage e outros Comandos do Google Cloud que podem ser usados com o conector de mainframe.
Produto | Comando | Descrição | Compatível com transcodificação remota |
---|---|---|---|
Comandos do BigQuery | bq export |
Use este comando para criar um arquivo binário. O comando aceita um
COPYBOOK DD
como entrada.
Observação: o comando bq export falha nas solicitações
para exportar grandes tabelas do Bigtable. Para evitar erros, adicione a flag -allowLargeResults ao comando bq export quando quiser exportar tabelas grandes. |
Sim |
bq load |
Use este comando para carregar dados em uma tabela. Para mais informações, consulte bq load. | Não | |
bq mk |
Use esse comando para criar recursos do BigQuery, como em tabelas integradas ou externas que precisam de particionamento e clustering para ser configurados. Para mais informações, consulte bq mk. | Não | |
bq query |
Use este comando para criar um job de consulta que execute a consulta SQL especificada.
Use a sinalização --follow=true para gerar um relatório que exibe
os resultados de uma consulta SELECT. Para gravar esse relatório em um arquivo no
mainframe, defina uma instrução DD AUDITL que aponte para o
arquivo que deve conter o relatório de registros de auditoria. Não use a
sinalização --follow se quiser o comportamento de registro normal.
Alguns resultados da consulta podem retornar um grande número de linhas, às vezes em milhões. Para que a saída continue legível para humanos, o número de linhas exibidas é limitado. Para controlar o número de linhas exibidas, use o método sinalização --report_row_limit . Por exemplo, use
--report_row_limit 10 para limitar os resultados a 10 linhas. Por
padrão, o número de linhas exibidas é limitado a 30.
Para mais informações, acesse bq query. |
Sim | |
bq rm |
Use este comando para excluir permanentemente um recurso do BigQuery. Como esse comando exclui um recurso permanentemente, recomendamos que você o use com cuidado. Para mais informações, consulte bq rm. | Não | |
Comandos do Cloud Storage | scp |
Use este comando para copiar dados de texto ou binários para o Cloud Storage. Você
pode usar o modo de cópia binária simples para copiar um
conjunto de dados do IBM z/OS para o
Cloud Storage sem modificações como parte de um pipeline de dados. Como alternativa, você pode
converter a codificação de caracteres de código de troca decimal codificado em binário
expandido (EBCDIC) para ASCII UTF-8 e adicionar quebras de linha.
Você também pode usar esse comando para copiar o código-fonte do aplicativo definido na linguagem de controle de tarefas (JCL). |
Não |
Utilitário gsutil |
gsutil cp |
Use este comando para transcodificar um conjunto de dados e gravá-lo no Cloud Storage
na tabela Optimized Row Columnar (ORC)
. O comando lê os dados do conjunto de dados INFILE e o layout de registro do
COPYBOOK DD.
Em seguida, o comando abre um número configurável de conexões paralelas para a API Cloud Storage e faz a transcodificação do conjunto de dados COBOL para o formato de arquivo ORC com colunas e compactado por GZIP. Você pode esperar uma taxa de compactação de cerca de 35%.
Opcionalmente, você pode usar esse comando para interagir com o Serviço gRPC do conector de mainframe em execução em uma VM do mainframe. Para fazer isso, defina o SRVHOST
e SRVPORT ou informe o nome do host e o
usando as opções da linha de comando. Quando o serviço gRPC é usado, a
o conjunto de dados de entrada é copiado primeiro para o Cloud Storage
Conector de mainframe e, em seguida, uma chamada de procedimento remoto (RPC) é feita
para instruir o serviço gRPC a transcodificar o arquivo.
O comando gsutil cp também oferece suporte a alguns recursos de ajuste de
desempenho. Para mais informações, consulte Melhorias de desempenho para o comando gsutil cp .
|
Sim |
gsutil rm |
Use este comando para excluir buckets ou objetos em um bucket. Para mais informações, consulte rm - Remover objetos. | Não | |
gszutil utilitário |
gszutil |
O utilitário gszutil é executado usando o IBM JZOS Java SDK e fornece um emulador de shell.
que aceita gsutil e a linha de comando do BigQuery
usando o JCL.
O utilitário gszutil estende a funcionalidade do
um utilitário gsutil aceitando um esquema na forma de um
COPYBOOK DD (em inglês)
usá-lo para transcodificar conjuntos de dados COBOL diretamente para o ORC antes de fazer o upload para o
Cloud Storage. O utilitário gszutil também permite executar
query e load do BigQuery usando JCL.
O utilitário gszutil funciona com o servidor gRPC,
que ajuda a reduzir o consumo de milhões de instruções por segundo
(MIPS, na sigla em inglês). Recomendamos usar o utilitário gszutil na sua
ambiente de produção para converter arquivos binários no Cloud Storage para o
no formato ORC.
|
Não |
Outros comandos | gcloud pubsub topics send |
Use este comando para enviar uma mensagem a um tópico do Pub/Sub. Você pode forneça a mensagem usando a linha de comando ou um conjunto de dados. | Não |
gcloud dataflow flex-template run |
Use este comando para acionar a execução de um Dataflow Flex modelo. O comando executa um job do caminho do modelo Flex especificado. Para mais informações, consulte gcloud dataflow flex-template run. | Não | |
curl |
Use este comando para fazer uma solicitação HTTP a um serviço da Web ou a APIs REST. | Não |
Configuração de ajuste de desempenho para o comando gsutil cp
O conector de mainframe oferece suporte ao seguinte ajuste de desempenho
para o comando gsutil cp
.
- Use a sinalização
--parallelism
para definir o número de linhas de execução. O o valor padrão é 1 (linha de execução única). - Use o argumento
--maxChunkSize
para definir o tamanho máximo de cada bloco. Cada bloco terá seu próprio arquivo ORC (Optimized Row Columnar). Aumente esse valor para reduzir o número de blocos criados ao custo de requisitos de memória maiores durante o processo de transcodificação. Para mais detalhes, consulte Analisar o argumentomaxChunkSize
. O valor padrão é 128 MiB. - Use o argumento
--preload_chunk_count
para definir a quantidade de dados como são pré-carregados na memória enquanto todos os workers estão ocupados. Esse argumento pode melhorar o desempenho em detrimento da memória. O valor padrão é 2.
Exemplo de execução
gsutil cp \
--replace \
--parser_type=copybook \
--parallelism=8 \
--maxChunkSize=256MiB \
gs://$BUCKET/test.orc
Neste exemplo, consideramos um arquivo grande e usamos oito linhas de execução para alcançar a taxa de linha. Se você tiver memória suficiente, recomendamos aumentar o tamanho do bloco para 256 MiB ou até 512 MiB, já que isso reduz a criação de sobrecarga e a finalização de objetos do Cloud Storage. Para arquivos pequenos que usam menos linhas de execução e pedaços menores podem produzir resultados melhores.
Analisar o argumento maxChunkSize
A flag maxChunkSize
aceita valores na forma de uma quantidade e uma
unidade de medida, por exemplo, 5 MiB. É possível usar espaços em branco entre a
quantidade e a magnitude.
É possível fornecer o valor nos seguintes formatos:
- Formato Java: b/k/m/g/t, para byte, kibibyte, mebibyte, gibibyte e tebibyte, respectivamente
- Formato internacional: KiB/MiB/GiB/TiB, para kibibyte, mebibyte, gibibyte e tebibyte, respectivamente
- Formato métrico: b/kb/mb/gb/tb, para kilobyte, megabyte, gigabyte e terabyte, respectivamente
A análise do tamanho dos dados não diferencia maiúsculas de minúsculas. Não é possível especificar valores parciais. Por exemplo, use 716 KiB em vez de 0,7 MiB.