Migrar trabalhos do AWS Glue for Spark para o AWS Glue versão 4.0 - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Migrar trabalhos do AWS Glue for Spark para o AWS Glue versão 4.0

Este tópico descreve as alterações entre as versões 0.9, 1.0, 2.0 e 3.0 do AWS Glue, para permitir que você migre suas aplicações do Spark e trabalhos do ETL para o AWS Glue 4.0. Ele também descreve os recursos do AWS Glue 4.0 e as vantagens de usá-lo.

Para usar esse recurso com seus trabalhos de ETL do AWS Glue, escolha 4.0 para a Glue version ao criar seus trabalhos.

Novos recursos compatíveis

Esta seção descreve novos recursos e vantagens do AWS Glue versão 4.0.

  • Ele é baseado no Apache Spark 3.3.0, mas inclui otimizações no AWS Glue e no Amazon EMR, como execuções de consultas adaptáveis, leitores vetorizados e agrupamento de partições e ordem aleatória otimizados.

  • Drivers JDBC atualizados para todas as fontes nativas do AWS Glue, incluindo MySQL, Microsoft SQL Server, Oracle, PostgreSQL, MongoDB e bibliotecas e dependências do Spark atualizadas trazidas pelo Spark 3.3.0.

  • Atualizado com um novo conector do Amazon Redshift e driver JDBC.

  • Acesso otimizado ao Amazon S3 com o EMR File System (EMRFS) atualizado e committers de saída otimizados do Amazon S3 habilitados por padrão.

  • Acesso otimizado ao Data Catalog com índices de partição, predicados de pushdown, listagem de partições e cliente de metastore do Hive atualizado.

  • Integração com Lake Formation para tabelas de catálogo controladas com filtragem em nível de célula e transações de data lake.

  • Latência de startup reduzida, melhorando os tempos de conclusão de trabalho e a interatividade em geral.

  • Os trabalhos do Spark são cobrados em incrementos de um segundo com uma duração mínima de faturamento dez vezes mais baixa, de um mínimo de dez minutos para um mínimo de um minuto.

  • Suporte nativo para estruturas de data lakes abertos com o Apache Hudi, o Delta Lake e o Apache Iceberg.

  • Suporte nativo para o Cloud Shuffle Storage Plugin baseado no Amazon S3 (um plug-in do Apache Spark) para usar o Amazon S3 para capacidade de armazenamento elástico e aleatório.

Principais aprimoramentos do Spark 3.1.1 para o Spark 3.3.0

Observe os seguintes aprimoramentos:

  • Filtragem de runtime em nível de linha (SPARK-32268).

  • Aprimoramentos do ANSI (SPARK-38860).

  • Melhorias nas mensagens de erro (SPARK-38781).

  • Suporte a tipos complexos para o leitor vetorizado de Parquet (SPARK-34863).

  • Suporte a metadados de arquivos ocultos para o Spark SQL (SPARK-37273).

  • Fornece um compilador de perfil para UDFs do Python/Pandas (SPARK-37443).

  • Apresenta Trigger.availableNow para executar consultas de streaming como Trigger.Once em vários lotes (SPARK-36533).

  • Recursos mais abrangentes de pushdown do Datasource V2 (SPARK-38788).

  • Migrar do log4j 1 para o log4j 2 (SPARK-37814).

Outras alterações notáveis

Observe as seguintes alterações:

  • Alterações que podem causar interrupções

    • Elimina as referências a compatibilidade com o Python 3.6 em documentos e Python/docs (SPARK-36977).

    • Remove o hack de tupla nomeada substituindo o pickle integrado pelo cloudpickle (SPARK-32079).

    • Aumenta a versão mínima do pandas para 1.0.5 (SPARK-37465).

Ações para migrar para o AWS Glue 4.0

Para trabalhos existentes, altere a Glue version da versão anterior para Glue 4.0 na configuração do trabalho.

  • No AWS Glue Studio, escolha Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 em Glue version.

  • Na API, escolha 4.0 no parâmetro GlueVersion na operação da API UpdateJob.

Para novos trabalhos, escolha Glue 4.0 ao criar um trabalho.

  • No console, escolha Spark 3.3, Python 3 (Glue Version 4.0) or Spark 3.3, Scala 2 (Glue Version 3.0) em Glue version.

  • No AWS Glue Studio, escolha Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 em Glue version.

  • Na API, escolha 4.0 no parâmetro GlueVersion na operação da API CreateJob.

Para visualizar os logs de eventos do Spark no AWS Glue 4.0, vindo do AWS Glue 2.0 ou anterior, inicie um servidor de histórico do Spark atualizado para o AWS Glue 4.0 usando o AWS CloudFormation ou o Docker.

Lista de verificação da migração

Revise esta lista de verificação para migração:

nota

Para itens da lista de verificação relacionados ao AWS Glue 3.0, consulte Lista de verificação de migração.

  • As bibliotecas externas de Python do seu trabalho dependem do Python 2.7/3.6?

    • Atualize as bibliotecas dependentes do Python 2.7/3.6 para Python 3.10, pois o Spark 3.3.0 removeu o suporte ao Python 2.7 e 3.6.

Migrar do AWS Glue 3.0 para o AWS Glue 4.0

Observe as seguintes alterações ao migrar:

  • Todos os parâmetros de trabalho e principais recursos existentes no AWS Glue 3.0 existirão no AWS Glue 4.0.

  • O AWS Glue 3.0 usa o Spark 3.1.1 otimizado para Amazon EMR, e o AWS Glue 4.0 usa o Spark 3.3.0 otimizado para Amazon EMR.

    Várias alterações do Spark isoladas podem exigir a revisão de seus scripts para garantir que os recursos removidos não estejam sendo referenciados.

  • O AWS Glue 4.0 também apresenta uma atualização para o EMRFS e o Hadoop. Para obter números de versão específicos, consulte Apêndice A: atualizações de dependência notáveis.

  • O AWS SDK fornecido nas tarefas de ETL agora foi atualizado de 1.11 para 1.12.

  • Todos os trabalhos do Python usarão o Python versão 3.10. Anteriormente, o Python 3.7 era usado no AWS Glue 3.0.

    Como resultado, alguns pymodules trazidos prontos para uso pelo AWS Glue são atualizados.

  • O Log4j foi atualizado para o Log4j2.

    • Para obter informações sobre o caminho de migração do Log4j2, consulte a documentação do Log4j.

    • Você deve renomear qualquer arquivo log4j.properties personalizado como um arquivo log4j2.properties, com as propriedades do log4j2 apropriadas.

  • Para migrar determinados conectores, consulte Migração de conectores e drivers JDBC para AWS Glue 4.0.

  • O SDK de criptografia do AWS foi atualizado de 1.x para 2.x. Trabalhos do AWS Glue que usam configurações de segurança e trabalhos do AWS Glue dependentes da dependência do SDK de criptografia do AWS fornecida em runtime são afetados. Veja as instruções para migração de trabalhos do AWS Glue.

    Você pode atualizar com segurança um trabalho do AWS Glue 2.0/3.0 para um trabalho do AWS Glue 4.0 porque o AWS Glue 2.0/3.0 já contém a versão de ponte do SDK de criptografia do AWS.

Consulte a documentação de migração do Spark:

Migrar do AWS Glue 2.0 para o AWS Glue 4.0

Observe as seguintes alterações ao migrar:

nota

Para obter as etapas de migração relacionadas ao AWS Glue 3.0, consulte Migrar do AWS Glue 3.0 para o AWS Glue 4.0.

  • Todos os parâmetros de trabalho e principais recursos existentes no AWS Glue 2.0 existirão no AWS Glue 4.0.

  • O committer do S3 otimizado para EMRFS para gravar dados em Parquet no Amazon S3 é habilitado por padrão desde o AWS Glue 3.0. No entanto, você ainda pode desabilitar isso definindo --enable-s3-parquet-optimized-committer como false.

  • O AWS Glue 2.0 usa o Spark 2.4 de código aberto e o AWS Glue 4.0 usa o Spark 3.3.0 otimizado para Amazon EMR.

    • Várias alterações do Spark sozinhas podem exigir a revisão de seus scripts para garantir que os recursos removidos não estejam sendo referenciados.

    • Por exemplo, o Spark 3.3.0 não habilita UDFs sem tipo Scala, mas o Spark 2.4 as permite.

  • O AWS SDK fornecido nas tarefas de ETL agora foi atualizado de 1.11 para 1.12.

  • O AWS Glue 4.0 também apresenta uma atualização para o EMRFS, drivers JDBC atualizados e inclusões de otimizações adicionais no próprio Spark fornecidas pelo AWS Glue.

  • O Scala foi atualizado da versão 2.11 para a versão 2.12, e o Scala 2.12 não é compatível retroativamente com o Scala 2.11.

  • O Python 3.10 também é a versão padrão usada para scripts de Python, pois o AWS Glue 2.0 utilizava apenas o Python 3.7 e 2.7.

    • O Python 2.7 não é compatível com o Spark 3.3.0. Qualquer trabalho que solicite Python 2 na configuração do trabalho falhará com uma IllegalArgumentException.

    • Um novo mecanismo de instalação de módulos adicionais do Python está disponível desde o AWS Glue 2.0.

  • Várias atualizações de dependência, destacadas em Apêndice A: atualizações de dependência notáveis.

  • Quaisquer arquivos JAR extras fornecidos em trabalhos do AWS Glue 2.0 podem trazer dependências conflitantes, uma vez que houve atualizações em várias dependências no 4.0 a partir do 2.0. Você pode evitar conflitos de classpath no AWS Glue 4.0 com o parâmetro de trabalho --user-jars-first do AWS Glue.

  • O AWS Glue 4.0 usa o Spark 3.3. A partir do Spark 3.1, houve uma mudança no comportamento para carregamento/salvamento de carimbos de data/hora de/para arquivos parquet. Para obter mais detalhes, consulte Atualização do Spark SQL 3.0 para 3.1.

    Recomendamos definir os seguintes parâmetros ao ler/escrever dados de parquet que contenham colunas de carimbo de data/hora. A configuração desses parâmetros pode resolver o problema de incompatibilidade do calendário que ocorre durante a atualização do Spark 2 para o Spark 3, para o Dynamic Frame do AWS Glue e o Spark Data Frame. Use a opção CORRECTED (CORRIGIDO) para ler o valor de data e hora como ele é; e a opção LEGACY (HERDADO) para rebasear os valores de data e hora em relação à diferença de calendário durante a leitura.

    - Key: --conf - Value: spark.sql.legacy.parquet.int96RebaseModeInRead=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.int96RebaseModeInWrite=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.datetimeRebaseModeInRead=[CORRECTED|LEGACY]
  • Para migrar determinados conectores, consulte Migração de conectores e drivers JDBC para AWS Glue 4.0.

  • O SDK de criptografia do AWS foi atualizado de 1.x para 2.x. Trabalhos do AWS Glue que usam configurações de segurança e trabalhos do AWS Glue dependentes da dependência do SDK de criptografia do AWS fornecida em runtime são afetados. Veja estas instruções para migração de trabalhos do AWS Glue:

    • Você pode atualizar com segurança um trabalho AWS Glue 2.0 para um trabalho AWS Glue 4.0 porque o AWS Glue 2.0 já contém a versão de ponte do SDK de criptografia do AWS.

Consulte a documentação de migração do Spark:

Migrar do AWS Glue 1.0 para o AWS Glue 4.0

Observe as seguintes alterações ao migrar:

  • O AWS Glue 1.0 usa o Spark 2.4 de código aberto e o AWS Glue 4.0 usa o Spark 3.3.0 otimizado para Amazon EMR.

    • Várias alterações do Spark sozinhas podem exigir a revisão de seus scripts para garantir que os recursos removidos não estejam sendo referenciados.

    • Por exemplo, o Spark 3.3.0 não habilita UDFs sem tipo Scala, mas o Spark 2.4 as permite.

  • Todos os trabalhos no AWS Glue 4.0 serão executados com tempos de startup significativamente melhorados. Os trabalhos do Spark serão cobrados em incrementos de um segundo com uma duração mínima de cobrança dez vezes menor, já que a latência de startup passará de um máximo de dez minutos para um minuto.

  • O comportamento de registro em log mudou significativamente no AWS Glue 4.0, o Spark 3.3.0 tem um requisito mínimo de Log4j2.

  • Várias atualizações de dependência, destacadas no apêndice.

  • O Scala também foi atualizado para o 2.12 a partir do 2.11, e o Scala 2.12 não é compatível com o Scala 2.11.

  • O Python 3.10 também é a versão padrão usada para scripts de Python, pois o AWS Glue 0.9 utilizava apenas o Python 2.

    O Python 2.7 não é compatível com o Spark 3.3.0. Qualquer trabalho que solicite Python 2 na configuração do trabalho falhará com uma IllegalArgumentException.

  • Um novo mecanismo de instalação de módulos adicionais do Python por meio do pip está disponível desde o AWS Glue 2.0. Para mais informações, consulte Instalação de módulos Python adicionais com pip no AWS Glue 2.0+.

  • O AWS Glue 4.0 não é executado no Apache YARN, portanto, as configurações do YARN não se aplicam.

  • O AWS Glue 4.0 não tem um Sistema de Arquivos Distribuído do Hadoop (HDFS).

  • Quaisquer arquivos JAR extras fornecidos em trabalhos do AWS Glue 1.0 podem trazer dependências conflitantes, uma vez que houve atualizações em várias dependências no 4.0 a partir do 1.0. Nós habilitamos o AWS Glue 4.0 com os parâmetros de trabalho --user-jars-first AWS Glue por padrão, para evitar esse problema.

  • Agora o AWS Glue 4.0 é compatível com auto scaling. Portanto, a métrica ExecutorAllocationManager estará disponível quando o auto scaling estiver ativado.

  • Em trabalhos do AWS Glue 4.0, você especifica o número de operadores e o tipo de operador, mas não especifica uma maxCapacity.

  • O AWS Glue 4.0 ainda não é compatível com transformações de machine learning.

  • Para migrar determinados conectores, consulte Migração de conectores e drivers JDBC para AWS Glue 4.0.

  • O SDK de criptografia do AWS foi atualizado de 1.x para 2.x. Trabalhos do AWS Glue que usam configurações de segurança e trabalhos do AWS Glue dependentes da dependência do SDK de criptografia do AWS fornecida em runtime são afetados. Veja estas instruções para migração de trabalhos do AWS Glue.

    • Você não pode migrar um trabalho de AWS Glue 0.9/1.0 para um trabalho do AWS Glue 4.0 diretamente. Isso ocorre porque, ao atualizar diretamente para a versão 2.x ou posterior e ativar todos os novos recursos imediatamente, o AWS Encryption SDK não conseguirá descriptografar o texto cifrado criptografado em versões anteriores do AWS Encryption SDK.

    • Para atualizar com segurança, primeiro recomendamos que você migre para um ttrabalho do AWS Glue 2.0/3.0 que contenha a versão ponte do AWS Encryption SDK. Execute o trabalho uma vez para utilizar a versão ponte do AWS Encryption SDK.

    • Após a conclusão, você pode migrar com segurança o trabalho do AWS Glue 2.0/3.0 para o AWS Glue 4.0.

Consulte a documentação de migração do Spark:

Migrar do AWS Glue 0.9 para o AWS Glue 4.0

Observe as seguintes alterações ao migrar:

  • O AWS Glue 0.9 usa o Spark 2.2.1 de código aberto e o AWS Glue 4.0 usa o Spark 3.3.0 otimizado para Amazon EMR.

    • Várias alterações do Spark isoladas podem exigir a revisão de seus scripts para garantir que os recursos removidos não estejam sendo referenciados.

    • Por exemplo, o Spark 3.3.0 não habilita UDFs sem tipo Scala, mas o Spark 2.2 as permite.

  • Todos os trabalhos no AWS Glue 4.0 serão executados com tempos de startup significativamente melhorados. Os trabalhos do Spark serão cobrados em incrementos de um segundo com uma duração mínima de cobrança dez vezes menor, porque a latência de startup passará de um máximo de dez minutos para um minuto.

  • O comportamento de log mudou significativamente desde o AWS Glue 4.0. O Spark 3.3.0 tem um requisito mínimo de Log4j2, conforme mencionado aqui (https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-32-to-33).

  • Várias atualizações de dependência, destacadas no apêndice.

  • O Scala também foi atualizado para o 2.12 a partir do 2.11, e o Scala 2.12 não é compatível com o Scala 2.11.

  • O Python 3.10 também é a versão padrão usada para scripts de Python, pois o AWS Glue 0.9 utilizava apenas o Python 2.

    • O Python 2.7 não é compatível com o Spark 3.3.0. Qualquer trabalho que solicite Python 2 na configuração do trabalho falhará com uma IllegalArgumentException.

    • Um novo mecanismo de instalação de módulos adicionais do Python por meio do pip está disponível.

  • O AWS Glue 4.0 não é executado no Apache YARN, portanto, as configurações do YARN não se aplicam.

  • O AWS Glue 4.0 não tem um Sistema de Arquivos Distribuído do Hadoop (HDFS).

  • Quaisquer arquivos JAR extras fornecidos em trabalhos do AWS Glue 0.9 podem trazer dependências conflitantes, uma vez que houve atualizações em várias dependências no 3.0 a partir do 0.9. Você pode evitar conflitos de classpath no AWS Glue 3.0 com o parâmetro de trabalho --user-jars-first do AWS Glue.

  • Agora o AWS Glue 4.0 é compatível com auto scaling. Portanto, a métrica ExecutorAllocationManager estará disponível quando o auto scaling estiver ativado.

  • Em trabalhos do AWS Glue 4.0, você especifica o número de operadores e o tipo de operador, mas não especifica uma maxCapacity.

  • O AWS Glue 4.0 ainda não é compatível com transformações de machine learning.

  • Para migrar determinados conectores, consulte Migração de conectores e drivers JDBC para AWS Glue 4.0.

  • O SDK de criptografia do AWS foi atualizado de 1.x para 2.x. Trabalhos do AWS Glue que usam configurações de segurança e trabalhos do AWS Glue dependentes da dependência do SDK de criptografia do AWS fornecida em runtime são afetados. Veja estas instruções para migração de trabalhos do AWS Glue.

    • Você não pode migrar um trabalho de AWS Glue 0.9/1.0 para um trabalho do AWS Glue 4.0 diretamente. Isso ocorre porque, ao atualizar diretamente para a versão 2.x ou posterior e ativar todos os novos recursos imediatamente, o AWS Encryption SDK não conseguirá descriptografar o texto cifrado criptografado em versões anteriores do AWS Encryption SDK.

    • Para atualizar com segurança, primeiro recomendamos que você migre para um ttrabalho do AWS Glue 2.0/3.0 que contenha a versão ponte do AWS Encryption SDK. Execute o trabalho uma vez para utilizar a versão ponte do AWS Encryption SDK.

    • Após a conclusão, você pode migrar com segurança o trabalho do AWS Glue 2.0/3.0 para o AWS Glue 4.0.

Consulte a documentação de migração do Spark:

Migração de conectores e drivers JDBC para AWS Glue 4.0

Para as versões do JDBC e dos conectores de data lake que foram atualizadas, consulte:

Hudi

  • Melhorias no suporte do Spark SQL:

    • Por meio do comando Call Procedure, há suporte adicional para atualização, downgrade, bootstrap, limpeza e reparo. A sintaxe de Create/Drop/Show/Refresh Index é possível no Spark SQL.

    • Foi eliminada uma discrepância de performance entre o uso por meio de um Spark DataSource em oposição ao Spark SQL. No passado, as gravações de fontes de dados costumavam ser mais rápidas do que em SQL.

    • Todos os geradores de chaves integrados implementam operações de API específicas do Spark com mais performance.

    • Substituiu a transformação UDF na operação de insert em massa com transformações RDD para reduzir os custos de uso do SerDe.

    • O Spark SQL com Hudi requer que seja especificada uma primaryKey por tblproperites ou opções na instrução SQL. Para operações de atualização e exclusão, o preCombineField também é necessário.

  • Qualquer tabela Hudi criada antes da versão 0.10.0 sem uma primaryKey precisa ser recriada com um campo primaryKey desde a versão 0.10.0.

PostgreSQL

  • Várias vulnerabilidades (CVEs) foram resolvidas.

  • O Java 8 tem suporte nativo.

  • Se o trabalho estiver usando matrizes de matrizes, com exceção das matrizes de bytes, esse cenário poderá ser tratado como matrizes multidimensionais.

MongoDB

  • O conector atual do MongoDB é compatível com o Spark versão 3.1 ou posterior e o MongoDB versão 4.0 ou posterior.

  • Devido à atualização do conector, alguns nomes de propriedades foram alterados. Por exemplo, o nome da propriedade de URI foi alterado para connection.uri. Para obter mais informações sobre as opções atuais, consulte o blog sobre o MongoDB Spark Connector.

  • O uso do MongoDB 4.0 hospedado pelo Amazon DocumentDB tem algumas diferenças funcionais. Para obter mais informações, consulte estes tópicos:

  • A opção “particionador” é restrita a ShardedPartitioner, PaginateIntoPartitionsPartitioner e SinglePartitionPartitioner. Ela não pode usar SamplePartitioner e PaginateBySizePartitioner padrão para o Amazon DocumentDB porque o operador de estágio não é compatível com a API do MongoDB. Para obter mais informações, consulte APIs, operações e tipos de dados compatíveis do MongoDB.

Delta Lake

  • O Delta Lake agora é compatível com a viagem no tempo em SQL para consultar dados antigos com facilidade. Com essa atualização, a viagem no tempo agora está disponível no Spark SQL e por meio da API DataFrame. Foi adicionado suporte para a versão atual do TIMESTAMP em SQL.

  • O Spark 3.3 apresenta o Trigger.AvailableNow para executar consultas de streaming como equivalente a Trigger.Once para consultas em lote. Esse suporte também está disponível ao usar tabelas Delta como fonte de streaming.

  • Suporte a SHOW COLUMNS para retornar a lista de colunas em uma tabela.

  • Suporte a DESCRIBE DETAIL na API Scala e Python DeltaTable. Ele recupera informações detalhadas sobre uma tabela Delta usando a API DeltaTable ou o Spark SQL.

  • Suporte a retorno de métricas de operação dos comandos SQL Delete, Merge e Update. Anteriormente, esses comandos SQL retornavam um DataFrame vazio, agora eles retornam um DataFrame com métricas úteis sobre a operação executada.

  • Melhorias de otimização de performance:

    • Defina a opção de configuração spark.databricks.delta.optimize.repartition.enabled=true para usar repartition(1) em vez de coalesce(1) no comando Optimize para melhorar a desempenho ao compactar muitos arquivos pequenos.

    • Desempenho aprimorado usando uma abordagem baseada em filas para paralelizar trabalhos de compactação.

  • Outras alterações notáveis:

Apache Iceberg

  • Foram adicionadas várias melhorias de performance para planejamento de varredura e consultas do Spark.

  • Foi adicionado um cliente comum do catálogo REST que usa confirmações baseadas em alterações para resolver conflitos de confirmação no lado do serviço.

  • A sintaxe AS OF para consultas SQL de viagem no tempo é compatível.

  • Foi adicionado suporte de mesclagem na leitura para consultas MERGE e UPDATE.

  • Foi adicionado suporte para reescrever partições usando a ordem Z.

  • Foram adicionadas uma especificação e implementação para o Puffin, um formato para estatísticas grandes e blobs de índice, como esboços Theta ou filtros Bloom.

  • Foram adicionadas novas interfaces para consumir dados de forma incremental (digitalizações de anexação e logs de alterações).

  • Foi adicionado suporte para operações em massa e leituras variadas nas interfaces do FileIO.

  • Foram adicionadas mais tabelas de metadados para mostrar arquivos excluídos na árvore de metadados.

  • O comportamento de drop table mudou. No Iceberg 0.13.1, a execução de DROP TABLE remove a tabela do catálogo e também exclui o conteúdo da tabela. No Iceberg 1.0.0, DROP TABLE somente remove a tabela do catálogo. Para excluir o conteúdo da tabela, use DROP TABLE PURGE.

  • As leituras vetorizadas de Parquet são habilitadas por padrão no Iceberg 1.0.0. Se você quiser desativar as leituras vetorizadas, defina read.parquet.vectorization.enabled como false.

Oracle

As mudanças são pequenas.

MySQL

As mudanças são pequenas.

Amazon Redshift

O AWS Glue 4.0 apresenta um novo conector do Amazon Redshift com um novo driver JDBC. Para obter informações sobre os aprimoramentos e como migrar de versões anteriores do AWS Glue, consulte Conexões do Redshift.

Apêndice A: atualizações de dependência notáveis

Veja a seguir as atualizações de dependência:

Dependência Versão no AWS Glue 4.0 Versão no AWS Glue 3.0 Versão no AWS Glue 2.0 Versão no AWS Glue 1.0
Spark 3,3.0-amzn-1 3.1.1-amzn-0 2.4.3 2.4.3
Hadoop 3,3.3-amzn-0 3.2.1-amzn-3 2.8.5-amzn-5 2.8.5-amzn-1
Scala 2.12 2.12 2.11 2.11
Jackson 2.13.3 2.10.x 2.7.x 2.7.x
Hive 2,3.9-amzn-2 2.3.7-amzn-4 1.2 1.2
EMRFS 2.54.0 2.46.0 2.38.0 2.30.0
Json4s 3.7.0 M11 3.6.6 3.5.x 3.5.x
Arrow 7.0.0 2.0.0 0.10.0 0.10.0
Cliente do AWS Glue Data Catalog 3.7.0 3.0.0 1.10.0 N/D
Python 3.10 3.7 2.7 e 3.6 2.7 e 3.6
Boto 1.26 1.18 1.12 N/D

Apêndice B: upgrades do driver JDBC

A seguir estão as atualizações do driver JDBC:

Driver Versão do driver JDBC nas versões do AWS Glue anteriores Versão do driver JDBC no AWS Glue 3.0 Versão do driver JDBC no AWS Glue 4.0
MySQL 5.1 8.0.23 8.0.23
Microsoft SQL Server 6.1.0 7.0.0 9.4.0
Bancos de dados da Oracle 11.2 21.1 21.7
PostgreSQL 42.1.0 42.2.18 42.3.6
MongoDB 2.0.0 4.0.0 4.7.2
Amazon Redshift

redshift-jdbc41-1.2.12.1017

redshift-jdbc41-1.2.12.1017

redshift-jdbc42-2.1.0.16

Apêndice C: Atualizações de conectores

As atualizações do conector são as seguintes:

Driver Versão do conector no AWS Glue 3.0 Versão do conector no AWS Glue 4.0
MongoDB 3.0.0 10.0.4
Hudi 0.10.1 0.12.1
Delta Lake 1.0.0 2.1.0
Iceberg 0.13.1 1.0.0
DynamoDB 1.11 1.12