Resolver erros de tipos de programa incompatíveis

Nesta página, descrevemos como resolver um problema conhecido no Cloud Data Fusion 6.8.0 e 6.8.1, em que um pipeline de dados falha com um erro de tipo de programa incompatível no Cloud Data Fusion. Esse problema foi resolvido na versão 6.8.2.

Para reduzir o tempo de inicialização dos pipelines, as instâncias do Cloud Data Fusion versões 6.8.0 e 6.8.1 armazenam em cache os artefatos necessários para iniciar um pipeline em um cluster do Dataproc dentro de um bucket do Cloud Storage. Um desses artefatos armazenados em cache é application.jar. Dependendo da ordem de execução dos pipelines, alguns deles podem falhar e apresentar o seguinte erro:

Unsupported program type: Spark

Por exemplo, depois de criar uma nova instância 6.8.1 (ou fazer upgrade para a 6.8.1), na primeira vez que você executar um pipeline que contenha apenas ações, ele será bem-sucedido. No entanto, as próximas execuções do pipeline, que incluem origens ou coletores, podem falhar com esse erro.

Recomendação

Para resolver esse problema, execute uma das seguintes ações:

Você pode desativar o armazenamento em cache para qualquer um dos seguintes casos:

  • Para todos os pipelines em uma instância.
  • Para um determinado namespace.
  • Para os perfis específicos do Dataproc que contêm os pipelines com falha.
  • apenas para pipelines com falha.

Desativar o armazenamento em cache do Cloud Storage para todos os pipelines em uma instância

Para desativar o armazenamento em cache do Cloud Storage para todos os pipelines em uma instância, siga estas etapas:

Console

  1. Acesse sua instância:
    1. No console do Google Cloud, acesse a página do Cloud Data Fusion.

    2. Para abrir a instância no Studio do Cloud Data Fusion, Clique em Instâncias e depois em Visualizar instância.

      Acesse "Instâncias"

  2. Clique em Administrador do sistema > Preferências do sistema e defina o valor de system.profile.properties.gcsCacheEnabled como false.

    Caixa de diálogo "Preferências"

API REST

Para definir system.profile.properties.gcsCacheEnabled como false, consulte Definir preferências.

Desativar o armazenamento em cache do Cloud Storage em um determinado namespace

Para desativar o armazenamento em cache do Cloud Storage para um determinado namespace, siga estas etapas:

Console

  1. Acesse sua instância:
    1. No console do Google Cloud, acesse a página do Cloud Data Fusion.

    2. Para abrir a instância no Studio do Cloud Data Fusion, Clique em Instâncias e depois em Visualizar instância.

      Acesse "Instâncias"

  2. Clique em Administrador do sistema > Namespaces e selecione seu namespace.
  3. Clique em Preferências > Editar e defina o valor de system.profile.properties.gcsCacheEnabled como false.

    Caixa de diálogo "Preferências de namespace"

API REST

Para definir isso usando a API REST, consulte Definir preferências.

Desativar o armazenamento em cache do Cloud Storage em um perfil do Dataproc

Para desativar o armazenamento em cache do Cloud Storage para os perfis específicos do Dataproc que contêm os pipelines com falha, siga estas etapas:

Console

  • Defina gcsCacheEnabled como false no perfil do Dataproc.

Desativar o armazenamento em cache do Cloud Storage apenas para os pipelines com falha

Para desativar o armazenamento em cache do Cloud Storage apenas para os pipelines com falha, siga estas etapas:

Console

  1. Acesse sua instância:
    1. No console do Google Cloud, acesse a página do Cloud Data Fusion.

    2. Para abrir a instância no Studio do Cloud Data Fusion, Clique em Instâncias e depois em Visualizar instância.

      Acesse "Instâncias"

  2. Clique em Lista e selecione o pipeline com falha.
  3. Clique em Expandir ao lado de Executar e defina o argumento do ambiente de execução system.profile.properties.gcsCacheEnabled como false.
  4. Repita o procedimento para todos os outros pipelines com falha.

Caixa de diálogo do ambiente de execução

API REST

O armazenamento em cache do Cloud Storage pode ser desativado ao iniciar um pipeline por meio da API REST e também ao especificar, opcionalmente, argumentos de ambiente de execução como um mapa JSON no corpo da solicitação. Para ver mais informações, consulte Iniciar um programa.