Nesta página, descrevemos como mudar a versão da imagem do Serviço Gerenciado para Apache Spark usada pela instância do Cloud Data Fusion. É possível mudar a imagem no nível da instância, do namespace ou do pipeline.
Antes de começar
Interrompa todos os pipelines em tempo real e jobs de replicação na instância do Cloud Data Fusion. Se um pipeline em tempo real ou uma replicação estiver em execução quando você mudar a versão da imagem do Serviço Gerenciado para Apache Spark, as mudanças não serão aplicadas à execução do pipeline.
Para pipelines em tempo real, se houver checkpoints ativos, interromper os pipelines não causará perda de dados. Para jobs de replicação, interromper e iniciar o job não causa perda de dados se os registros de banco de dados estiverem disponíveis.
Console
Acesse a página Instâncias do Cloud Data Fusion e abra a instância em que você precisa interromper um pipeline.
Abra cada pipeline em tempo real no Pipeline do Studio e clique em Interromper.
Abra cada job de replicação na página Replicar e clique em Interromper.
API REST
Para recuperar todos os pipelines, use a seguinte chamada de API REST:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"Substitua
NAMESPACE_IDpelo nome do seu namespace.Para interromper um pipeline em tempo real, use a seguinte chamada de API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"Substitua NAMESPACE_ID pelo nome do seu namespace e PIPELINE_NAME pelo nome do pipeline em tempo real.
Para interromper um job de replicação, use a seguinte chamada de API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"Substitua NAMESPACE_ID pelo nome do seu namespace e REPLICATION_JOB_NAME pelo nome do job de replicação.
Para mais informações, veja como interromper pipelines em tempo real e como interromper jobs de replicação.
Verificar e substituir a versão padrão do Serviço Gerenciado para Apache Spark no Cloud Data Fusion
Clique em Administrador do sistema > Configuração > Preferências do sistema.

Se uma imagem do Serviço Gerenciado para Apache Spark não estiver especificada nas preferências do sistema ou para mudar a preferência, clique em Editar preferências do sistema.
Insira o seguinte texto no campo Chave:
system.profile.properties.imageVersionInsira a imagem escolhida do Serviço Gerenciado para Apache Spark no campo Valor, como
2.1.Clique em Salvar e fechar.

Essa mudança afeta toda a instância do Cloud Data Fusion, incluindo todos os namespaces e execuções de pipeline, a menos que a propriedade da versão de imagem seja substituída em um namespace, pipeline ou argumento de ambiente de execução na instância.
Mudar a versão de imagem do Serviço Gerenciado para Apache Spark
A versão de imagem pode ser definida na interface da Web do Cloud Data Fusion nas configurações de computação, nas preferências de namespace ou nos argumentos de ambiente de execução do pipeline.
Mudar a imagem nas preferências de namespace
Se você substituiu a versão da imagem nas propriedades do namespace, siga estas etapas:
Clique em Administrador do sistema > Configuração > Namespaces.
Abra cada namespace e clique em Preferências.
Verifique se não há substituição com a chave
system.profile.properties.imageVersioncom um valor de versão de imagem incorreto.Clique em Concluir.
Mudar a imagem nos perfis de computação do sistema
Clique em Administrador do sistema > Configuração.
Clique em Perfis de computação > Criar novo perfil.
Selecione o provisionador do Serviço Gerenciado para Apache Spark.

Crie o perfil do Serviço Gerenciado para Apache Spark. No campo Versão da imagem, insira uma versão da imagem do Serviço Gerenciado para Apache Spark.

Selecione esse perfil de computação ao executar o pipeline na página Studio. Na página de execução do pipeline, clique em Configurar > Configuração de computação e selecione esse perfil.
Selecione o perfil do Serviço Gerenciado para Apache Spark e clique em Salvar.
Clique em Concluir.
Mudar a imagem nos argumentos de ambiente de execução do pipeline
Se você substituiu a versão de imagem por uma propriedade nos argumentos de ambiente de execução do pipeline, siga estas etapas:
Clique no menu Menu > Lista.
Na página Lista, selecione o pipeline que você quer atualizar.
O pipeline será aberto na página Studio.
Para expandir as opções de Execução, clique na seta do expansor .
A janela Argumentos de ambiente de execução será aberta.
Verifique se não há substituição com a chave
system.profile.properties.imageVersioncom uma versão de imagem incorreta como valor.Clique em Salvar.

Recriar clusters estáticos do Serviço Gerenciado para Apache Spark usados pelo Cloud Data Fusion com a versão de imagem escolhida
Se você usa clusters do Serviço Gerenciado para Apache Spark com o Cloud Data Fusion, siga o guia do Serviço Gerenciado para Apache Spark para recriar os clusters com a versão de imagem escolhida do Serviço Gerenciado para Apache Spark para sua versão do Cloud Data Fusion.
Como alternativa, você pode criar um novo cluster do Serviço Gerenciado para Apache Spark com a versão da imagem escolhida do Serviço Gerenciado para Apache Spark e excluir e recriar o perfil de computação no Cloud Data Fusion com o mesmo nome de perfil de computação e o nome atualizado do cluster do Serviço Gerenciado para Apache Spark. Dessa forma, a execução de pipelines em lote pode ser concluída no cluster atual, e as execuções de pipeline subsequentes ocorrem no novo cluster do Serviço Gerenciado para Apache Spark. Você pode excluir o cluster antigo do Serviço Gerenciado para Apache Spark depois de confirmar que todas as execuções de pipeline foram concluídas.
Verificar se a versão da imagem do Serviço Gerenciado para Apache Spark está atualizada
Console
No Google Cloud console, acesse a página Clusters do Serviço Gerenciado para Apache Spark.
Abra a página Detalhes do cluster do novo cluster que o Cloud Data Fusion criou quando você especificou a nova versão.
O campo versão de imagem tem o novo valor especificado no Cloud Data Fusion.
API REST
Receba a lista de clusters com os metadados:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clustersSubstitua:
PROJECT_IDpelo nome do namespaceREGION_IDpelo nome da região em que os clusters estão localizados
Pesquise o nome do pipeline (nome do cluster).
Nesse objeto JSON, consulte a imagem em
config > softwareConfig > imageVersion.
Mudar a imagem do Serviço Gerenciado para Apache Spark para a versão 2.1 ou mais recente
As versões 6.9.1 e mais recentes do Cloud Data Fusion são compatíveis com a imagem 2.1 do Serviço Gerenciado para Apache Spark no Compute Engine, que é executada no Java 11. Nas versões 6.10.0 e mais recentes, a imagem 2.1 é a padrão.
Se você mudar para a imagem 2.1 ou mais recente, de uma imagem anterior, para que os pipelines em lote e os jobs de replicação sejam bem-sucedidos, os drivers JDBC usados pelos plug-ins de banco de dados nessas instâncias precisam ser compatíveis com o Java 11.
As imagens 2.2 e 2.1 do Serviço Gerenciado para Apache Spark têm as seguintes limitações no Cloud Data Fusion:
- Jobs do MapReduce não são compatíveis.
- As versões do driver JDBC usadas nos plug-ins de banco de dados na instância precisam ser atualizadas para oferecer suporte ao Java 11. Consulte a tabela a seguir para ver as versões do driver que funcionam com o Serviço Gerenciado para Apache Spark 2.2, 2.1 e Java 11:
| Drivers JDBC | Versões anteriores removidas do Cloud Data Fusion 6.9.1 | Versões compatíveis com Java 8 e Java 11 que funcionam com Serviço Gerenciado para Apache Spark 2.2, 2.1 ou 2.0 |
|---|---|---|
| Driver JDBC do Cloud SQL para MySQL | - | 1.0.16 |
| Driver JDBC do Cloud SQL para PostgreSQL | - | 1.0.16 |
| Driver JDBC do Microsoft SQL Server | Driver JDBC 6.0 da Microsoft | Driver JDBC 9.4 da Microsoft |
| Driver JDBC do MySQL | 5.0.8, 5.1.39 | 8.0.25 |
| Driver JDBC do PostgreSQL | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
| Driver JDBC do Oracle | ojdbc7 | ojdbc8 (12c e versões mais recentes) |
Uso da memória ao usar o Serviço Gerenciado para Apache Spark 2.1 ou mais recente
O uso da memória pode aumentar para pipelines que usam o Serviço Gerenciado para Apache Spark 2.1 ou mais recente. Se você fizer upgrade da instância para a versão 6.10 ou mais recente e os pipelines anteriores falharem devido a problemas de memória, aumente a memória do driver e do executor para 2048 MB na configuração Resources do pipeline.

Como alternativa, você pode substituir a versão do Serviço Gerenciado para Apache Spark definindo o argumento de ambiente de execução system.profile.properties.imageVersion como 2.0-debian10.