Migrar para Versões Posteriores do Spark

Siga estas instruções para atualizar o Spark da versão 3.0.2 para a 3.2.1 ou da versão 2.4 para a 3.0.2.

Migrar o Serviço Data Flow para o Spark 3.2.1

Siga estas etapas para migrar o serviço Data Flow para usar o Spark 3.2.1.

Para poder usar o serviço Data Flow com o Delta Lakes 1.2.1 e integrar com o Conda Pack, use pelo menos a versão 3.2.1. do Spark com o serviço Data Flow.

Siga as instruções no Spark 3.2.1 Migration Guide para fazer upgrade para o Spark 3.2.1.

Além das informações sobre versões suportadas em Antes de Começar a Usar o Serviço Data Flow, as seguintes versões da biblioteca são o mínimo suportado pelo serviço Data Flow com o Spark 3.2.1 e com o Spark 3.0.2.
Observação

Crie aplicativos usando as versões listadas para o Spark 3.0.2 antes de migrar para o Spark 3.2.1.
Versões mínimas suportadas para o Spark 3.2.1 e Spark 3.0.2.
Biblioteca Spark 3.2.1 Spark 3.0.2
Python 3.8.13 3.6.8
Java 11 1.8.0_321
Hadoop 3.3.3 3.2.0
oci-hdfs 3.3.1.0.3.2 3.2.1.3
Scala 2.12.15 2.12.10
oci-java-sdk 2.45.0 1.25.2

Migrando Aplicativos do Serviço Data Flow do Uso do Spark 2.4 para o Uso do Spark 3.0.2

Saiba mais sobre a migração do serviço Data Flow para usar o Spark 3.0.2 em vez do Spark 2.4.4.

O serviço Data Flow agora suporta o Spark 2.4.4 e o Spark 3.0.2. Este capítulo descreve o que você precisa fazer se estiver migrando aplicativos existentes do serviço Data Flow do Spark 2.4.4 para o Spark 3.0.2.

Migrando o Serviço Data Flow para o Spark 3.0.2

As etapas para migrar o serviço Data Flow do Spark 2.4.4 para o Spark 3.0.2 e problemas a serem considerados.

  1. Siga as etapas no Spark Migration Guide.
  2. O Spark 3.0.2 requer o Scala 2.12. Os aplicativos Scala compilados com uma versão anterior do Scala, e suas dependências, devem ser atualizados de acordo.
  3. Se você tiver colocado uma propriedade na lista de permissões para o Spark 2.4.4, deverá criar uma solicitação separada para colocá-la na lista de permissões para o Spark 3.0.2.
  4. Atualize o arquivo POM.xml para chamar claramente as dependências das bibliotecas Spark.
  5. Quando você Editar um Aplicativo, Criar um Aplicativo Java ou Scala do Serviço Data Flow, Criar um Aplicativo PySpark do Serviço Data Flow ou Criar um Aplicativo SQL do Serviço Data Flow, selecione Spark 3.0.2 -> Scala 2.12 para a Versão do Spark.
    Observação

    Se você alterar a versão do Spark para um aplicativo que já tem uma Execução e, em seguida, executar novamente essa Execução anterior, ela usará a nova versão do Spark, não a versão com a qual ele foi originalmente executado.

Erros ao Fazer Parsing de Timestamp ou Strings de Data

Saiba como resolver erros de parsing ou formatação no serviço Data Flow relacionados a strings de data ou timestamp que migraram do Spark 2.4.4 para o Spark 3.0.2.

Depois de migrar seus aplicativos do serviço Data Flow para o Spark 3.0.2, você recebe o seguinte erro ao executar um aplicativo:
org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0: Fail to recognize ‘MMMMM’ pattern in the DateTimeFormatter.
Há uma correção simples. Defina spark.sql.legacy.timeParserPolicy como LEGACY. Execute novamente seu aplicativo.