Referência da API Mainframe Connector

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 argumento maxChunkSize. 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.