O Alibaba Cloud E-MapReduce (EMR) executa em instâncias do Elastic Compute Service (ECS) e aprimora o Apache Hadoop e o Apache Spark open source com capacidades adicionais. Esta página lista os aprimoramentos do Spark incluídos em cada versão do EMR, organizados por série.
Série EMR V5.x
|
Versão do EMR |
Versão do Spark |
Alterações |
|
EMR V5.17.0 |
Spark 3.4.2 |
Spark atualizado para a versão 3.4.2. |
|
EMR V5.16.0 |
Spark 3.3.1 |
Vulnerabilidades de segurança corrigidas na biblioteca Commons Text. |
|
EMR V5.15.1 |
Spark 3.3.1 |
Configurações relacionadas a |
|
EMR V5.12.1 |
Spark 3.3.1 |
O OSS-HDFS agora é o backend de armazenamento padrão do Spark History Server. Use o Object Storage Service (OSS) ou o OSS-HDFS para armazenar dados do Spark3 Native Engine. |
|
EMR V5.10.0 |
Spark 3.3.1 |
Spark atualizado para a versão 3.3.1. |
|
EMR V5.9.0 |
Spark 3.3.0 |
Spark atualizado para a versão 3.3. Suporte adicionado à autenticação Kerberos. |
|
EMR V5.8.0 |
Spark 3.2.1 |
Ative a autenticação LDAP com um único clique em. |
|
EMR V5.6.0 |
Spark 3.2.1 |
Spark atualizado para a versão 3.2.1. |
|
EMR V5.5.0 |
Spark 3.2.0 |
Consulte Detalhes do EMR V5.5.0. |
|
EMR V5.4.0 |
Spark 3.1.2 |
Consulte Detalhes do EMR V5.4.0. |
|
EMR V5.3.0 |
Spark 3.1.1 |
Incompatibilidade entre Spark e Delta Lake corrigida. |
|
EMR V5.2.1 |
Spark 3.1.1 |
Consulte Detalhes do EMR V5.2.1. |
EMR V5.5.0 (Spark 3.2.0)
Novos recursos e melhorias
COUNT DISTINCT condicional: Agora você pode usar uma expressão
IFdentro deCOUNT DISTINCT. A sintaxeCASE WHENparaCOUNT DISTINCTfoi otimizada. Esse recurso vem desativado por padrão. Para ativá-lo, definaspark.sql.optimizer.rewriteConditionalDistinctAggregatescomotrue.Fallback de Shuffle Hash Join: O Spark pode alternar de Shuffle Hash Join para Sort Merge Join quando este for mais eficiente. Para habilitar esse comportamento, defina
spark.sql.join.preferSortMergeJoincomofalseespark.sql.join.enableShuffledHashJoinFallbackcomotrue.Mesclagem automática de arquivos pequenos: O sistema mescla automaticamente arquivos de saída pequenos em partições não dinâmicas. Esse recurso vem desativado por padrão. Para ativá-lo, defina
spark.sql.adaptive.merge.output.small.files.enabledcomotrue.Ajuste automático de concorrência para GROUPING SETS e DISTINCT: O Spark ajusta automaticamente o paralelismo em consultas que usam
GROUPING SETSouDISTINCT. Esse recurso vem desativado por padrão. Para ativá-lo, definaspark.sql.execution.optimizeExpandcomotrue.Melhorias no Hive on Spark: Desempenho e compatibilidade do Hive on Spark otimizados.
Sintaxe de time travel: Suporte adicionado à sintaxe de time travel.
Integração com JindoSDK: Spark adaptado para funcionar com o JindoSDK.
EMR V5.4.0 (Spark 3.1.2)
Novos recursos e melhorias
Spark atualizado para a versão 3.1.2.
Desempenho de computação distinta no Spark SQL otimizado para operadores de agregação que contêm múltiplas expressões
count(distinct case ... when ...).
Correções de bugs
Erro de índice de array fora dos limites corrigido. O problema ocorria quando algumas estatísticas exigidas pela Adaptive Query Execution (AQE) estavam ausentes.
Erros relacionados à AQE e ao cache de dados corrigidos em cenários específicos.
EMR V5.2.1 (Spark 3.1.1)
No EMR V5.2.1, o Spark 3.1.1 e o Kudu 1.11.1 são incompatíveis entre si.
Novos recursos e melhorias
Suporte adicionado para Delta Lake e Hudi.
Suporte adicionado para Remote Shuffle Service.
Suporte adicionado para Livy.
Nomes de parâmetros otimizados na aba spark-defaults da guia Configure no console do EMR.
Os recursos de otimização baseada em custo (CBO), pruning dinâmico de partições e Z-order oferecem desempenho 50% superior em comparação ao Spark 3 padrão.
Use Log Service, DataHub e Message Queue for Apache RocketMQ como fontes de dados.
Série EMR V4.x
|
Versão do EMR |
Versão do Spark |
Alterações |
|
EMR V4.10.0 |
Spark 2.4.8 |
Consulte Detalhes do EMR V4.10.0. |
|
EMR V4.9.0 |
Spark 2.4.7 |
Consulte Detalhes do EMR V4.9.0. |
|
EMR V4.8.0 |
Spark 2.4.7 |
Consulte Detalhes do EMR V4.8.0. |
|
EMR V4.6.0 |
Spark 2.4.7 |
Spark atualizado para 2.4.7 e jQuery para 3.5.1. O Hive atualiza automaticamente os tamanhos de tabelas e partições. Envie metadados do Spark e informações de jobs para o DataWorks. |
|
EMR V4.5.0 |
Spark 2.4.5 |
Suporte adicionado para metadados do Alibaba Cloud Data Lake Formation (DLF). |
|
EMR V4.3.0 |
Spark 2.4.5 |
Spark atualizado para 2.4.5 e Delta Lake para 0.6.0. Problema corrigido em que o PySpark falhava ao executar após a ativação do Ranger Hive. |
EMR V4.10.0 (Spark 2.4.8)
Novos recursos e melhorias
Spark atualizado para a versão 2.4.8.
Configurações padrão do Thrift Server otimizadas.
Nomes de parâmetros otimizados na aba spark-defaults da guia Configure no console do EMR.
Melhorias no Hive on Spark.
Suporte adicionado para o algoritmo de compressão Zstandard.
Correções de bugs
Problema corrigido em que a execução adaptativa não tinha efeito em alguns cenários.
Problema corrigido em que o Spark e o Hive tratavam funções de agregação estatística de maneira diferente.
Problema corrigido em que o Spark não conseguia ler dados válidos do tipo
CHARde uma tabela ORC do Hive.Erro de índice de array fora dos limites corrigido. O problema ocorria quando algumas estatísticas exigidas pela AQE estavam ausentes.
Erros relacionados à AQE e ao cache de dados corrigidos em cenários específicos.
Log4j Metrics Appender removido devido a configuração inválida.
Exceção de ponteiro nulo corrigida durante a inicialização do SparkContext.
EMR V4.9.0 (Spark 2.4.7)
Correções de bugs
Problema corrigido em que a execução adaptativa não tinha efeito em alguns cenários.
Problema corrigido em que o Spark e o Hive tratavam funções de agregação estatística de maneira diferente.
Problema corrigido em que o Spark não conseguia ler dados válidos do tipo
CHARde uma tabela ORC do Hive.
EMR V4.8.0 (Spark 2.4.7)
Novos recursos e melhorias
Configurações padrão otimizadas.
Consultas top-k baseadas em janelas podem sofrer pushdown, o que melhora o desempenho.
Leitura e gravação de tabelas do Hive nos formatos CSV ou JSON aprimoradas.
Omita todos os nomes de colunas em uma instrução
ANALYZE.Ative ou desative a autenticação LDAP com um único clique em.
Usabilidade do Spark Beeline aprimorada.
Série EMR V3.x
|
Versão do EMR |
Versão do Spark |
Alterações |
|
EMR V3.51.0 |
Spark 3.4.2 |
Spark atualizado para a versão 3.4.2. |
|
EMR V3.50.0 |
Spark 3.3.1 |
Vulnerabilidades de segurança corrigidas na biblioteca Commons Text. |
|
EMR V3.49.0 |
Spark 3.3.1 |
Configurações relacionadas a |
|
EMR V3.46.1 |
Spark 3.3.1 |
O OSS-HDFS agora é o backend de armazenamento padrão do Spark History Server. Use o OSS ou o OSS-HDFS para armazenar dados do Spark3 Native Engine. |
|
EMR V3.44.0 |
Spark 3.3.1 |
Spark atualizado para a versão 3.3.1. |
|
EMR V3.43.0 |
Spark 3.3.0 |
Spark atualizado para a versão 3.3. Suporte adicionado à autenticação Kerberos. |
|
EMR V3.40.0 |
Spark 3.2.1 |
Spark atualizado para a versão 3.2.1. |
|
EMR V3.39.1 |
Spark 2.4.8 |
Melhorias no Hive on Spark. Spark adaptado para o JindoSDK. |
|
EMR V3.38.1 |
Spark 2.4.8 |
Log4j Metrics Appender removido (configuração inválida). Exceção de ponteiro nulo corrigida durante a inicialização do SparkContext. |
|
EMR V3.38.0 |
Spark 2.4.8 |
Consulte Detalhes do EMR V3.38.0. |
|
EMR V3.37.0 |
Spark 2.4.7 |
Incompatibilidade entre Spark e Delta Lake corrigida. |
|
EMR V3.36.1 |
Spark 2.4.7 |
Nomes de parâmetros otimizados na aba spark-defaults da guia Configure no console do EMR. Desempenho de coleta de logs otimizado. Suporte adicionado para compressão Zstandard. |
|
EMR V3.35.0 |
Spark 2.4.7 |
Problemas corrigidos: execução adaptativa sem efeito, tratamento divergente de estatísticas de agregação entre Spark e Hive, e falha do Spark ao ler dados do tipo |
|
EMR V3.34.0 |
Spark 2.4.7 |
Consulte Detalhes do EMR V3.34.0. |
|
EMR V3.33.0 |
Spark 2.4.7 |
Spark atualizado para 2.4.7 e jQuery para 3.5.1. O Hive atualiza automaticamente os tamanhos de tabelas e partições. Envie metadados do Spark e informações de jobs para o DataWorks. |
|
EMR V3.32.0 |
Spark 2.4.5 |
Ative ou desative o recurso de coleta de dados do JindoTable. |
|
EMR V3.30.0 |
Spark 2.4.5 |
Consulte Detalhes do EMR V3.30.0. |
|
EMR V3.29.0 |
Spark 2.4.5 |
Spark atualizado para 2.4.5.2.0. Suporte adicionado a metastore de terceiros. Parâmetro |
|
EMR V3.28.0 |
Spark 2.4.5 |
Spark atualizado para 2.4.5. Compatível com scripts Streaming SQL do DataFactory. Suporte adicionado para Delta Lake 0.6.0. |
|
EMR V3.27.0 |
Spark 2.4.3 |
Suporte a campos de partição do tipo data em operações de cubo. Profundidade da pilha aumentada em scripts spark-submit. |
|
EMR V3.25.0 |
Spark 2.4.3 |
Consulte Detalhes do EMR V3.25.0. |
|
EMR V3.24.0 |
Spark 2.4.3 |
Suporte a parâmetros do Delta Lake. Configure o plugin do Spark no Ranger. JindoCube atualizado para 0.3.0. |
|
EMR V3.23.0 |
Spark 2.4.3 |
Consulte Detalhes do EMR V3.23.0. |
|
EMR V3.22.0 |
Spark 2.4.3 |
Consulte Detalhes do EMR V3.22.0. |
EMR V3.38.0 (Spark 2.4.8)
Novos recursos e melhorias
Spark atualizado para a versão 2.4.8.
-
Suporte tanto para Spark 2.4.8 quanto para Spark 3.1.2.
NotaNesta versão, o Delta Lake e o Remote Shuffle Service não têm suporte no Spark 3.
Desempenho de computação distinta no Spark SQL otimizado para operadores de agregação que contêm múltiplas expressões
count(distinct case ... when ...).
Correções de bugs
Erro de índice de array fora dos limites corrigido. O problema ocorria quando algumas estatísticas exigidas pela AQE estavam ausentes.
Erros relacionados à AQE e ao cache de dados corrigidos em cenários específicos.
EMR V3.34.0 (Spark 2.4.7)
Novos recursos e melhorias
Configurações padrão otimizadas.
Consultas top-k baseadas em janelas podem sofrer pushdown, o que melhora o desempenho.
Leitura e gravação de tabelas do Hive nos formatos CSV ou JSON aprimoradas.
Omita todos os nomes de colunas em uma instrução
ANALYZE.Ative ou desative a autenticação LDAP com um único clique em.
Usabilidade do Spark Beeline aprimorada.
EMR V3.30.0 (Spark 2.4.5)
Novos recursos e melhorias
Suporte adicionado para metadados do Alibaba Cloud Data Lake Formation (DLF).
Dependências atualizadas para a versão 2.0.1.
Delta implantado separadamente; o pacote JAR do Delta foi removido da distribuição principal.
Logs armazenados em diretórios do HDFS.
Correções de bugs
Problemas causados por crases (`
``) no Streaming SQL corrigidos.
EMR V3.25.0 (Spark 2.4.3)
Novos recursos e melhorias
Configure parâmetros do Delta Lake, como
spark.sql.extensions, no console do EMR.Leia dados de tabelas Delta usando o Hive sem configurar manualmente o
InputFormat.Suporte adicionado para as instruções
ALTER TABLE SET TBLPROPERTIESeALTER TABLE UNSET TBLPROPERTIES.
EMR V3.23.0 (Spark 2.4.3)
Novos recursos e melhorias
Suporte adicionado para a sintaxe
MERGE INTO.Suporte adicionado para as sintaxes
SCANeSTREAM.Suporte a semântica exactly-once (EOS) para o sink Kafka do Structured Streaming.
Delta atualizado para a versão 0.4.0.
Correções de bugs
Problema corrigido em que o
IsolatedClassLoadernão conseguia carregar classes em certos casos (Spark SQL Thrift Server).Código de transação do Spark refatorado para melhorar a estabilidade.
Problema corrigido em que arquivos ORC (Optimized Row Columnar) não podiam ser lidos ou gravados após a atualização do Hive integrado para a versão 2.3.
EMR V3.22.0 (Spark 2.4.3)
Novos recursos e melhorias
Cache relacional
Um cache relacional acelera consultas por meio da pré-computação de dados. Durante uma consulta, o Spark Optimizer detecta e aplica automaticamente um cache relacional apropriado, otimizando o plano de execução SQL. Os casos de uso incluem processamento analítico online multidimensional (MOLAP), geração de relatórios, criação de painéis e sincronização de dados entre clusters.
Operações DDL com suporte:
CACHE,UNCACHE,ALTEReSHOW. Todas as fontes e formatos de dados do Spark são compatíveis.Atualize os caches automaticamente ou com o comando
REFRESH. Há suporte para cache incremental por partição.O plano de execução SQL é otimizado automaticamente quando um cache relacional está disponível.
Streaming SQL
Parâmetros do Stream Query Writer normalizados.
Verificações de compatibilidade de esquema para tabelas de dados do Kafka otimizadas.
Esquema registrado automaticamente no Schema Registry para tabelas de dados do Kafka sem esquema existente.
Saída de logs aprimorada quando um esquema do Kafka é incompatível.
Restrição removida que limitava as consultas Streaming SQL apenas às fontes de dados Kafka e LogHub.
Delta (adicionado nesta versão)
O componente Delta agora está disponível. Use o Spark para criar uma fonte de dados Delta para gravações em streaming, leituras e gravações transacionais, verificação de dados e rollback de dados.
Leia e grave dados Delta usando a API DataFrame.
Leia e grave dados Delta usando a API Structured Streaming, com o Delta como source ou sink.
Use a API Delta para atualizar, excluir, mesclar, limpar (vacuum) e otimizar dados.
Use instruções SQL para criar tabelas Delta, importar dados e consultar tabelas Delta.
Correções de bugs
Problema corrigido em que era necessário especificar explicitamente o nome da coluna ao gravar resultados de consulta em uma tabela de dados do Kafka.
Conflitos de JAR resolvidos, incluindo o conflito de servlet.