Todos os produtos
Search
Central de documentação

MaxCompute:Notas de lançamento para versões do mecanismo

Última atualização: Sep 21, 2026

Este tópico fornece as notas de lançamento dos recursos do product MaxCompute (maxcompute).

Julho de 2025

O MaxCompute Engine V52 foi lançado oficialmente em julho de 2025. Esta versão adiciona ou aprimora os seguintes recursos:

Mecanismo de data warehouse

  • Novos recursos

    • Suporte para tabelas particionadas por tempo de ingestão adicionado. Ao gravar dados, o sistema captura automaticamente o tempo de ingestão. Especifique uma função de cálculo de tempo, TRUNC_TIME, para calcular o valor da coluna de partição com base no tempo de ingestão. Isso permite o particionamento automático da tabela.

    • Podagem de partição aprimorada para tabelas com partição automática: A podagem de partição para tabelas com partição automática foi aprimorada. Agora, a podagem de partição suporta a aplicação de funções de tempo ou data em colunas de tempo ou data, como DATE, DATETIME, TIMESTAMP e TIMESTAMP_NTZ, durante a criação da tabela. O resultado calculado pode ser usado como condição de filtro para a podagem de partição. Para mais informações, consulte Podagem de partição para tabelas com partição automática usando funções de cálculo de tempo.

  • Linguagem e sintaxe

    • Suporte para GROUP BY ALL adicionado. Para usar este recurso, execute o comando SET odps.sql.bigquery.compatible=true; e ative o modo de compatibilidade com BigQuery. Recomendamos que você ative este recurso no nível do projeto.

    • A sintaxe DELETE FROM/UPDATE agora suporta aliases de tabela. Para isso, selecione um dos seguintes formatos:

      • DELETE FROM <table_name> [[as] alias] [WHERE <condition>];

      • UPDATE <table_name> [[as] alias] SET ...;

  • Funções integradas

    • Funções de data e hora

      • A função ISOYEAR foi adicionada. Esta função extrai o ano ISO 8601 de uma entrada de data.

      • As funções CURRENT_DATE, CURRENT_TIMESTAMP_NTZ e CURRENT_MICROS foram adicionadas. Essas funções aceitam um parâmetro de fuso horário para retornar a hora atual no fuso horário especificado.

      • As seguintes funções de série temporal foram adicionadas: TIME_ADD, TIME_SUB, TIME_DIFF, TO_TIME, FORMAT_TIME e TIME_TRUNC. Essas funções suportam a construção, conversão e cálculo de valores de tempo representados como BIGINT em microssegundos.

      • As funções DATEADD, DATEDIFF, DATETRUNC e LAST_DAY agora suportam valores adicionais de date_part.

      • A função WEEKOFYEAR agora suporta valores adicionais de date_part e aceita parâmetros de entrada do tipo DATE.

    • Funções de rede

      Um conjunto de NET funções de rede foi adicionado: NET_IP_FROM_STRING, NET_SAFE_IP_FROM_STRING, NET_IP_NET_MASK, NET_IPV4_TO_INT64, NET_IP_TO_STRING, NET_HOST, NET_PUBLIC_SUFFIX e NET_REG_DOMAIN. Essas funções processam dados relacionados à rede dos tipos STRING e BINARY. Elas suportam conversão de formato de endereço IP, análise de URL e recuperação de máscara de rede.

    • Funções de string

      • As seguintes funções de string foram adicionadas: BASE32, CODEPOINT_ARRAY, SAFE_CONVERT_BYTES_TO_STRING e FORMAT_STRING. Essas funções oferecem recursos flexíveis de processamento de dados binários e formatação de strings.

      • A função REGEXP_CONTAINS foi adicionada. Esta função verifica se uma string contém conteúdo que corresponde a uma string ou expressão regular especificada.

    • Funções matemáticas

      As funções LEAST e GREATEST agora suportam parâmetros de entrada do tipo DATE.

    • Outros

      Execute o comando SET odps.sql.bigquery.compatible=true; e ative o modo de compatibilidade com BigQuery. Com isso, o comportamento de algumas funções muda:

      • No modo de compatibilidade com BigQuery, a função SUBSTR lida com position = 0 de forma diferente.

      • No modo de compatibilidade com BigQuery, a função REVERSE lida com dados do tipo STRING de forma diferente.

      • No modo de compatibilidade com BigQuery, a função STDDEV_SAMP se comporta de maneira diferente quando a janela contém apenas um valor expr não nulo.

      • No modo de compatibilidade com BigQuery, as funções REGEXP_EXTRACT e REGEXP_EXTRACT_ALL se comportam de maneira diferente quando o pattern não tem grupos e você não especifica um group_id.

Abril de 2025

O MaxCompute Engine V51 foi lançado oficialmente em abril de 2025. Esta versão adiciona ou aprimora os seguintes recursos:

Mecanismo de data warehouse

  • Novos recursos

    Suporte para tabelas com partição automática que usam funções de cálculo de tempo (AUTO PARTITION) adicionado. Você pode aplicar funções específicas de cálculo de tempo a colunas de tempo ou data, como DATE, DATETIME, TIMESTAMP e TIMESTAMP_NTZ, em uma tabela. O sistema calcula automaticamente o valor da coluna de partição com base no resultado e particiona a tabela. Para mais informações, consulte Tabelas com partição automática usando funções de cálculo de tempo.

  • Aprimoramentos de recursos

    • Ao reconstruir índices BloomFilter com o comando ALTER TABLE REBUILD INDEX, você pode reconstruir várias partições de uma só vez. Para mais informações, consulte Gerar um índice BloomFilter.

    • Para isso, crie visualizações materializadas com MAX_PT, agora suportado além de GETDATE. Durante a reescrita de consultas, o sistema usa o valor MAX_PT no momento da criação da visualização materializada. Isso melhora a cobertura da reescrita de consultas. Para mais informações, consulte Criar visualizações materializadas (com particionamento e clusterização).

  • Linguagem e sintaxe

  • Funções integradas

    • A função TRUNC_TIME foi adicionada. Esta função trunca dados de data ou hora pela unidade de tempo especificada em datepart e retorna uma STRING. Para mais informações, consulte TRUNC_TIME.

    • As funções BOOL_AND e BOOL_OR foram adicionadas. BOOL_AND executa uma operação lógica AND em um conjunto de valores booleanos. BOOL_OR executa uma operação lógica OR. Ambas as funções retornam o resultado lógico de todos os valores de entrada não nulos. Para mais informações, consulte BOOL_AND e BOOL_OR.

    • A função BIT_COUNT foi adicionada. Esta função conta o número de 1s na representação binária de um valor de entrada. Para mais informações, consulte BIT_COUNT.

    • A função BITWISE_XOR_AGG foi adicionada. Esta função calcula o XOR bit a bit de todos os valores de entrada. Para mais informações, consulte BITWISE_XOR_AGG.

    • A função ANY foi adicionada. Esta função verifica se pelo menos um elemento na entrada é TRUE. Para mais informações, consulte ANY.

  • Atualizações de desempenho e parâmetros

    O recurso Shuffle Removal foi ainda mais aprimorado. Shuffles desnecessários são eliminados quando você grava em tabelas Cluster para melhorar o desempenho do job.

Fevereiro de 2025

O MaxCompute SQL V50 foi lançado oficialmente em fevereiro de 2025. Os seguintes recursos foram adicionados ou aprimorados nesta versão:

Mecanismo de data warehouse

  • Formatos de dados

    O tipo de dados DECIMAL suporta uma escala maior. O valor de escala de DECIMAL(precision,scale) indica o número de dígitos na parte fracionária de um valor DECIMAL. Execute o comando SET odps.sql.decimal2.extended.scale.enable=true; para estender o intervalo da escala de [0, 18] para [0, 38]. Para mais informações, consulte Versão 2.0 do tipo de dados.

  • Aprimoramentos de sintaxe e funções

    • Sintaxe STRUCT aprimorada: A sintaxe STRUCT foi aprimorada para suportar a sintaxe de expressão STRUCT. Essa sintaxe permite usar expressões nomeadas para construir dados do tipo STRUCT. Isso fornece um novo método para construir esse tipo de dado complexo. Para mais informações, consulte tipo de dados STRUCT.

    • Função FIND_IN_SET aprimorada: Esta função pode ser usada para pesquisar uma substring dentro de uma string que consiste em substrings separadas por um delimitador e retornar a posição da substring. Em versões anteriores do MaxCompute SQL, apenas uma vírgula (,) podia ser usada como delimitador para esta função. Após o aprimoramento, especifique um delimitador personalizado do tipo STRING para esta função. Isso permite uma pesquisa de string mais flexível. Para mais informações, consulte FIND_IN_SET.

    • Nova função integrada GET_DATA_FROM_OSS: A função integrada GET_DATA_FROM_OSS foi adicionada. Use esta função e baixe dados de objetos do Object Storage Service (OSS) de Object Tables, retornando dados binários para computação subsequente. Para mais informações, consulte Consultar conteúdo de objeto para computação de negócios.

  • Aprimoramentos de recursos

    • MATERIALIZED CTE: Para uma expressão de tabela comum (CTE), defina a dica MATERIALIZE na instrução SELECT para armazenar em cache o resultado do cálculo da CTE em uma tabela temporária. Quando você acessar a CTE posteriormente, poderá ler o resultado diretamente do cache. Isso ajuda a evitar problemas de falta de memória (OOM) em cenários de aninhamento de CTE de várias camadas e melhora o desempenho da instrução CTE. Para mais informações, consulte MATERIALIZE CTE.

    • Observabilidade aprimorada de índices de filtro Bloom: O tempo necessário para mesclar índices de filtro Bloom é exibido na guia SubStatusHistory do LogView. Para mais informações, consulte gerar índice Bloomfilter.

    • Visualizações materializadas aprimoradas: As visualizações materializadas foram aprimoradas. O recurso de reescrita de consultas das visualizações materializadas foi melhorado para suportar mais operadores, incluindo DISTRIBUTED BY, ORDER BY, ORDER BY + LIMIT e LIMIT. Para mais informações, consulte Reescrita de consultas de visualizações materializadas.

  • Atualização de desempenho e parâmetros

    • Para a função ARRAY_CONTAINS, o otimizador detecta automaticamente quando um parâmetro de entrada é processado pela função SPLIT em cenários de pesquisa de strings. Por padrão, o otimizador converte essa expressão em uma operação FIND_IN_SET equivalente e suporta tipos de separador adicionais. Por exemplo, ARRAY_CONTAINS(SPLIT(c1, '_'), c2) é otimizado automaticamente para FIND_IN_SET(c1, c2, '_'), o que melhora o desempenho de execução de ARRAY_CONTAINS.

    • Por padrão, a capacidade Reshuffle Split é ativada para particionamento dinâmico, a fim de otimizar cenários que envolvem o remanejamento de partições dinâmicas. Essa otimização divide o fluxo de dados das partições dinâmicas e executa o remanejamento apenas em um único caminho, reduzindo assim a sobrecarga do remanejamento de partições dinâmicas e evitando o problema de excesso de arquivos pequenos.

    • A capacidade Shuffle Removal foi ainda mais aprimorada para eliminar shuffles desnecessários em cenários MAPJOIN e PARTITIONED HASH JOIN e melhorar o desempenho do job.

Data warehouse quase em tempo real

  • Lançamento do recurso CDC da Delta Table

    O Change Data Capture (CDC) da Delta Table identifica e captura alterações nos dados da tabela do banco de dados. Ele registra operações de inserção, atualização e exclusão no nível da linha em tabelas incrementais da Delta Table. Isso captura efetivamente eventos de alteração de dados para a tabela. O CDC da Delta Table gera automaticamente tarefas de agendamento cronometrado ao criá-lo. Essas tarefas executam jobs assíncronos para gerar dados CDC. A sintaxe inclui CREATE, ALTER e DROP. Você pode usar eventos CDC para impulsionar a computação incremental, a sincronização de dados e as camadas do data warehouse. Para mais informações, consulte CDC (visualização de convite).

  • Novo recurso de objeto de fluxo de dados Stream

    Um Stream é um objeto de fluxo de dados gerenciado pelo MaxCompute. Ele gerencia automaticamente a versão dos dados de consulta incremental para Delta Tables. Um Stream registra alterações DML, como inserções, atualizações e exclusões, em tabelas incrementais. Cada alteração inclui metadados para ajudar você a agir sobre os dados alterados. Para mais informações, consulte Objetos Stream.

  • Lançamento do recurso de tarefa de agendamento periódico

    As tarefas de agendamento periódico do MaxCompute (Periodic Tasks) permitem que você personalize flexivelmente as políticas de agendamento. Elas executam lógica SQL para construir automaticamente pipelines de dados e simplificar fluxos de trabalho ETL. Combine tarefas com alterações de dados de tabela e leituras de fluxo e crie fluxos de trabalho ETL contínuos que processam dados alterados recentemente. Para mais informações, consulte Tarefas de agendamento periódico (visualização de convite).

  • Gravação de dados do Flink para Delta tables

    As Delta tables do MaxCompute suportam vários métodos de gravação de dados. O MaxCompute fornece uma nova versão do plug-in conector do Flink. O plug-in conector do Flink pode ser usado para gravar dados do Flink em tabelas padrão do MaxCompute e Delta tables. Isso facilita a gravação de dados do Flink no MaxCompute. Além disso, os dados do Flink CDC podem ser gravados diretamente nas Delta tables. Para mais informações, consulte Gravar dados no MaxCompute com Flink.

Lakehouse e o recurso de tabela externa

  • Agora, crie uma tabela externa para analisar dados no formato PARQUET com suporte a conversões implícitas para alguns tipos de dados, como TINYINT, SMALLINT e DATETIME.

  • A função MAX_PT pode ser usada para consultar a partição mais recente de uma tabela externa. Você pode usar esta função para consultar a partição mais recente que contém dados em uma tabela externa do OSS. Para mais informações, consulte MAX_PT.

Novembro de 2024

A versão MaxCompute SQL V49 foi lançada oficialmente em novembro de 2024. Os seguintes recursos foram adicionados ou aprimorados nesta versão:

Mecanismo de data warehouse

  • Novos recursos

    • Índice de bitmap: Crie índices de bitmap para colunas de baixa cardinalidade nas quais muitos valores duplicados estão disponíveis. Em cenários de filtragem de intervalo, use índices de bitmap para filtrar mais de 50% dos dados no máximo. Isso ajuda a acelerar as consultas. Para mais informações, consulte Índice de bitmap (beta).

    • Índice de filtro Bloom: Um filtro Bloom é uma estrutura de dados probabilística eficiente. O MaxCompute permite que você use índices de filtro Bloom para executar consultas de ponto em grande escala. Isso reduz a varredura desnecessária de dados durante as consultas e melhora a eficiência e o desempenho geral das consultas. Para mais informações, consulte Índice Bloomfilter (Beta).

  • Funções integradas

    • A função integrada JSON_EXPLODE foi adicionada. Esta função é usada para expandir cada elemento em um array JSON ou objeto JSON em várias linhas. Para mais informações, consulte JSON_EXPLODE.

  • Aprimoramento de linguagem

    • Use a cláusula OR REPLACE na instrução CREATE TABLE e atualize os metadados de uma tabela. Se a tabela de destino já existir, você pode atualizar diretamente os metadados da tabela. Não exclua uma tabela existente antes de recriá-la. Isso simplifica o uso de instruções SQL e melhora a facilidade de uso. Para mais informações, consulte Criar e excluir tabelas.

    • Comentários de linha única e de várias linhas podem ser usados em scripts MaxCompute SQL para melhorar a legibilidade do código. Para mais informações, consulte Comentários SQL.

    • O SUBQUERY_MAPJOIN HINT é suportado. Subconsultas específicas, como SCALAR, IN e EXISTS, são transformadas em operações JOIN durante a execução. Especifique explicitamente dicas para usar o algoritmo MAPJOIN e melhorar a eficiência da execução. Para mais informações, consulte SUBQUERY_MAPJOIN HINT.

  • Novos parâmetros

    • O parâmetro original odps.stage.mapper.split.size suporta as configurações gerais no estágio de mapa. Você pode usar o novo sinalizador para dividir tabelas flexivelmente por linha ou simultaneidade. O novo sinalizador pode melhorar a simultaneidade de tarefas em cenários onde o tamanho de cada linha na tabela é pequeno e as cargas de trabalho das operações de computação subsequentes são pesadas. Para mais informações, consulte Parâmetros de sinalizador.

    • Se uma consulta acessar repetidamente a mesma tabela particionada, execute o comando set odps.optimizer.merge.partitioned.table=true; e ative a mesclagem de operações de acesso na tabela particionada pelo sistema. Isso minimiza as operações de I/O na tabela particionada e melhora o desempenho da consulta. Para mais informações, consulte Parâmetros de sinalizador.

  • Mudanças de comportamento

    • O recurso de otimização de partição dinâmica para estática melhora o desempenho da consulta para todas as operações DML e é ativado por padrão. Essa otimização afeta o comportamento das operações UPDATE, DELETE e MERGE INTO. Para mais informações, consulte Anúncio sobre a otimização de partição dinâmica para estática.

IA de big data (MaxFrame)

  • O LogView 2.0 é compatível com o MaxFrame e suporta os seguintes recursos relacionados ao MaxFrame. Para mais informações, consulte Usar o LogView 2.0 para visualizar jobs do MaxFrame.

    • Além disso, visualize os registros de execução e as durações de execução de todos os grafos acíclicos direcionados (DAGs) enviados nas sessões do MaxFrame.

    • Também visualize interativamente a sequência de execução, o tempo de execução, a topologia do operador e as relações de status dos sub-DAGs em cada DAG.

    • Por fim, visualize as configurações, o status, o uso de memória e a utilização da CPU de cada instância filha.

  • O MaxFrame oferece um service de empacotamento automático para simplificar o gerenciamento de pacotes de terceiros no desenvolvimento de jobs baseados em Python. Este service permite que você declare arquivos de dependência externa necessários durante o desenvolvimento do job. Quando o job está em execução, os arquivos de dependência são automaticamente empacotados e integrados ao ambiente de desenvolvimento do job. Você não precisa fazer upload manual dos pacotes. Isso simplifica o gerenciamento de pacotes. Para mais informações, consulte Serviço de empacotamento automatizado.

Lakehouse e o recurso de tabela externa

  • A compactação ZSTD é suportada durante a gravação de dados em uma tabela externa Parquet com base na interface JNI.

    Antes da introdução deste recurso, apenas arquivos não compactados e arquivos Snappy podiam ser gravados ao criar uma tabela externa Parquet. Após a introdução deste recurso, arquivos compactados usando o algoritmo de compactação ZSTD também podem ser gravados neste cenário. Isso ajuda a melhorar a taxa de compactação e o desempenho de leitura e gravação, alcançando maior custo-benefício. Para mais informações, consulte Tabelas externas ORC.

  • CsvStorageHandler e OpenCsvSerde são fornecidos para suportar mais tipos de dados para leituras e gravações de dados.

    • O MaxCompute fornece os padrões de leitura e gravação OpenCsvSerde, que é chamado de CsvSerde e é compatível com o Hive. Os tipos de dados suportados pelo OpenCsvSerde são tipos de dados compatíveis com o Hive. O MaxCompute também fornece os padrões personalizados de leitura e gravação CsvStorageHandler, que é chamado de CsvHandler. Os tipos de dados suportados pelo CsvStorageHandler são os tipos de dados suportados na edição de tipo de dados MaxCompute V2.0. Os tipos de dados do CsvSerde e do CsvHandler não são totalmente iguais, mas ainda têm a interseção de vários tipos de dados básicos, como INT e FLOAT. No entanto, ainda existem muitas diferenças no comportamento de análise desses tipos de dados. Um padrão unificado ainda não foi formulado. Por exemplo, para o tipo FLOAT, o CsvSerde define o processamento de valores especiais como INF. No entanto, o CsvHandler não processa valores especiais e apenas tenta usar o método parseFloat para análise. Como resultado, os comportamentos para analisar tipos de dados básicos podem não ser os mesmos quando você usa tanto o CsvHandler quanto o CsvSerde.

    • O CsvStorageHandler suporta vários tipos de dados básicos, como BOOLEAN, TIMESTAMP, DATE e DATETIME. Isso permite exportar dados de todos os tipos de dados do MaxCompute para o OSS e armazenar os dados no formato CSV. Após a execução da replicação entre regiões com base no OSS, os dados podem ser restaurados para o MaxCompute.

  • As tabelas externas do OSS permitem que você execute autenticação STS assumindo uma função do RAM.

    Este recurso foi otimizado para permitir que você acesse o MaxCompute assumindo uma função do RAM (sem necessidade de pares AccessKey) ou acesse o MaxCompute a partir de outros services de cloud assumindo uma função do RAM em cenários onde tabelas externas estão envolvidas. Antes da otimização deste recurso, ao assumir uma função nos cenários anteriores, o sistema não conseguia obter as informações do usuário da função do RAM porque as tabelas externas continham a função do RAM integrada às propriedades da tabela para o MaxCompute acessar services pares. Como resultado, você não podia acessar as tabelas externas assumindo a função do RAM. Após a otimização deste recurso, o uso de funções do RAM e o acesso contínuo com base em funções do RAM não são afetados negativamente, mesmo que tabelas externas estejam envolvidas. Para mais informações, consulte Tabelas externas ORC.

  • O otimizador suporta estatísticas de tabelas de estatísticas temporárias durante consultas para identificar tabelas pequenas e otimizar planos de consulta.

    Como os dados consultados usando tabelas externas são armazenados em um data lake externo, o sistema não estabelece metadados localmente para garantir a abertura dos dados. Nesse caso, se você não coletar estatísticas com antecedência, o otimizador usa políticas conservadoras, o que diminui a eficiência da consulta. O otimizador agora suporta estatísticas de tabelas de estatísticas temporárias durante consultas para identificar tabelas pequenas. Isso permite que você use proativamente vários métodos para otimizar planos de consulta. Os métodos incluem a execução de operações hash join, a otimização da ordem de junção, a redução de muitas operações de shuffle e o encurtamento dos pipelines executados. Para mais informações, consulte Tabela externa Paimon.