Todos os produtos
Search
Central de documentação

MaxCompute:Notas de versão do mecanismo

Última atualização: Jun 27, 2026

Este tópico apresenta as notas de versão dos recursos do 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 adicionado para tabelas particionadas por tempo de ingestão. Durante a gravação de dados, o sistema captura automaticamente o horário 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 e permitir o particionamento automático da tabela.

    • Poda de partições aprimorada para tabelas com particionamento automático: A poda de partições em tabelas com particionamento automático foi otimizada. Agora é possível aplicar funções de data ou hora a colunas temporais, como DATE, DATETIME, TIMESTAMP e TIMESTAMP_NTZ, durante a criação da tabela. O resultado calculado serve como condição de filtro para a poda de partições. Para mais informações, consulte Poda de partições para tabelas com particionamento automático usando funções de cálculo de tempo.

  • Linguagem e sintaxe

    • Suporte adicionado para GROUP BY ALL. Para utilizar esse recurso, execute o comando SET odps.sql.bigquery.compatible=true; e ative o modo de compatibilidade com BigQuery. Recomendamos ativar essa funcionalidade no nível do projeto.

    • A sintaxe DELETE FROM/UPDATE agora aceita aliases de tabela. Utilize os 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

    • Funções de rede

      Um conjunto de funções de rede NET 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. Tais funções processam dados relacionados à rede nos formatos STRING e BINARY, oferecendo suporte à conversão de formatos de endereço IP, análise de URL e obtenção de máscaras de rede.

    • Funções de string

    • Funções matemáticas

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

    • Outros

      Ao executar o comando SET odps.sql.bigquery.compatible=true; para ativar o modo de compatibilidade com BigQuery, o comportamento de algumas funções muda:

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

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

      • No modo de compatibilidade com BigQuery, a função STDDEV_SAMP apresenta comportamento diferente quando a janela contém apenas um valor expr não NULL.

      • No modo de compatibilidade com BigQuery, as funções REGEXP_EXTRACT e REGEXP_EXTRACT_ALL comportam-se de modo distinto quando o pattern não possui grupos e nenhum group_id é especificado.

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 adicionado para tabelas com particionamento automático que utilizam funções de cálculo de tempo (AUTO PARTITION). Aplique funções específicas de cálculo de tempo a colunas temporais, 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 particionamento automático usando funções de cálculo de tempo.

  • Aprimoramentos de recursos

    • Ao reconstruir índices BloomFilter com o comando ALTER TABLE REBUILD INDEX, reconstrua várias partições simultaneamente. Para mais informações, consulte Gerar um índice BloomFilter.

    • Durante a criação de visualizações materializadas, MAX_PT agora é suportado além de GETDATE. Na reescrita de consultas, o sistema utiliza o valor MAX_PT vigente no momento da criação da visualização materializada, ampliando a cobertura da reescrita. Para mais informações, consulte Criar visualizações materializadas (com particionamento e clustering).

  • Linguagem e sintaxe

  • Funções integradas

    • Função TRUNC_TIME adicionada. Ela trunca dados de data ou hora conforme a unidade de tempo especificada em datepart e retorna uma STRING. Para mais informações, consulte TRUNC_TIME.

    • Funções BOOL_AND e BOOL_OR incluídas. BOOL_AND executa uma operação lógica AND em um conjunto de valores booleanos, enquanto BOOL_OR executa uma operação lógica OR. Ambas retornam o resultado lógico de todos os valores de entrada não NULL. Para mais informações, consulte BOOL_AND e BOOL_OR.

    • Função BIT_COUNT disponível. Ela conta o número de bits 1 na representação binária de um valor de entrada. Para mais informações, consulte BIT_COUNT.

    • Função BITWISE_XOR_AGG adicionada. Ela calcula o XOR bit a bit de todos os valores de entrada. Para mais informações, consulte BITWISE_XOR_AGG.

    • Função ANY incluída. Ela 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 recebeu melhorias adicionais. Shuffles desnecessários são eliminados durante a gravação em tabelas Cluster, aumentando o desempenho dos jobs.

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 em 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 Edição de tipos de dados do MaxCompute V2.0.

  • Aprimoramentos de sintaxe e funções

    • Sintaxe STRUCT aprimorada: A sintaxe STRUCT foi atualizada para suportar a sintaxe de expressão STRUCT, permitindo o uso de expressões nomeadas para construir dados desse tipo. Isso oferece um novo método para criar esse tipo de dado complexo. Para mais informações, consulte Tipo de dados STRUCT.

    • Função FIND_IN_SET aprimorada: Esta função busca uma substring dentro de uma string composta por substrings separadas por um delimitador e retorna sua posição. Nas versões anteriores do MaxCompute SQL, apenas a vírgula (,) era aceita como delimitador. Após o aprimoramento, defina um delimitador personalizado do tipo STRING para possibilitar buscas de string mais flexíveis. Para mais informações, consulte FIND_IN_SET.

    • Nova função integrada GET_DATA_FROM_OSS: Função integrada GET_DATA_FROM_OSS adicionada. Utilize-a para baixar dados de objetos do Object Storage Service (OSS) a partir de Object Tables e retornar dados binários para processamento posterior. Para mais informações, consulte Consultar conteúdo de objetos para computação empresarial.

  • Aprimoramentos de recursos

    • MATERIALIZED CTE: Ao definir uma expressão de tabela comum (CTE), utilize a dica MATERIALIZE na instrução SELECT para armazenar em cache o resultado do cálculo da CTE em uma tabela temporária. Em acessos subsequentes, leia o resultado diretamente do cache. Isso evita problemas de falta de memória (OOM) em cenários de aninhamento de CTE em múltiplas camadas e melhora o desempenho da instrução. Para mais informações, consulte MATERIALIZE CTE.

    • Observabilidade aprimorada de índices Bloom filter: O tempo gasto para mesclar índices Bloom filter é exibido na aba SubStatusHistory do LogView. Para mais informações, consulte Gerar índice Bloomfilter.

    • Visualizações materializadas aprimoradas: As visualizações materializadas receberam melhorias. O recurso de reescrita de consultas foi expandido para suportar mais operadores, incluindo DISTRIBUTED BY, ORDER BY, ORDER BY + LIMIT e LIMIT. Para mais informações, consulte Reescrita de consultas de visualização materializada.

  • 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 busca de string. Por padrão, o otimizador converte essa expressão para uma operação FIND_IN_SET equivalente e suporta tipos adicionais de separadores. Por exemplo, ARRAY_CONTAINS(SPLIT(c1, '_'), c2) é otimizado automaticamente para FIND_IN_SET(c1, c2, '_'), melhorando o desempenho de execução de ARRAY_CONTAINS.

    • Por padrão, a capacidade Reshuffle Split está ativada para particionamento dinâmico, otimizando cenários que envolvem reshuffling de partições dinâmicas. Essa otimização divide o fluxo de dados das partições dinâmicas e executa o reshuffling apenas em um único caminho, reduzindo a sobrecarga e evitando a geração excessiva de arquivos pequenos.

    • A capacidade Shuffle Removal foi aprimorada para eliminar shuffles desnecessários em cenários de MAPJOIN e PARTITIONED HASH JOIN, elevando o desempenho dos jobs.

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 das tabelas do banco de dados, registrando operações de inserção, atualização e exclusão no nível de linha em tabelas incrementais. Isso captura eventos de mudança de dados de forma eficaz. Ao criar o CDC da Delta Table, tarefas de agendamento cronometrado são geradas automaticamente para executar jobs assíncronos que produzem os dados CDC. A sintaxe inclui CREATE, ALTER e DROP. Utilize eventos CDC para impulsionar computação incremental, sincronização de dados e camadas de data warehouse. Para mais informações, consulte CDC (visualização por convite).

  • Novo recurso de objeto de fluxo de dados Stream

    Um Stream é um objeto de fluxo de dados gerenciado pelo MaxCompute que controla automaticamente a versão dos dados de consulta incremental para Delta Tables. Ele registra alterações DML, como inserções, atualizações e exclusões, nas tabelas incrementais. Cada alteração inclui metadados para auxiliar no tratamento dos dados modificados. Para mais informações, consulte Objetos Stream.

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

    As tarefas de agendamento periódico do MaxCompute (Periodic Tasks) permitem personalizar políticas de agendamento com flexibilidade. Elas executam lógica SQL para construir pipelines de dados automaticamente e simplificar fluxos de trabalho ETL. Combine tarefas com alterações em dados de tabelas e leituras de stream para criar fluxos ETL contínuos que processam dados recentemente modificados. Para mais informações, consulte Tarefas de agendamento periódico (visualização por convite).

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

    As Delta tables do MaxCompute suportam diversos métodos de gravação de dados. Uma nova versão do plug-in conector Flink está disponível para gravar dados do Flink em tabelas padrão e Delta tables do MaxCompute, facilitando a ingestão de dados. Além disso, dados do Flink CDC podem ser gravados diretamente nas Delta tables. Para mais informações, consulte Gravar dados no MaxCompute com Flink.

Lakehouse e recurso de tabela externa

  • Ao criar uma tabela externa para analisar dados no formato PARQUET, o sistema suporta conversões implícitas para alguns tipos de dados, como TINYINT, SMALLINT e DATETIME.

  • Utilize a função MAX_PT para consultar a partição mais recente de uma tabela externa. Essa função permite identificar a última partição com 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 Bitmap: Crie índices bitmap para colunas de baixa cardinalidade com muitos valores duplicados. Em cenários de filtragem por intervalo, esses índices podem filtrar mais de 50% dos dados, acelerando as consultas. Para mais informações, consulte Índice Bitmap (beta).

    • Índice Bloom filter: O Bloom filter é uma estrutura de dados probabilística eficiente. O MaxCompute permite usar índices Bloom filter para realizar consultas pontuais em grande escala, reduzindo varreduras desnecessárias e melhorando a eficiência e o desempenho geral das consultas. Para mais informações, consulte Índice Bloomfilter (Beta).

  • Funções integradas

    • Função integrada JSON_EXPLODE adicionada. Utilize-a para expandir cada elemento de um array JSON ou objeto JSON em várias linhas. Para mais informações, consulte JSON_EXPLODE.

  • Aprimoramentos de linguagem

    • Utilize a cláusula OR REPLACE na instrução CREATE TABLE para atualizar os metadados de uma tabela. Se a tabela de destino já existir, atualize diretamente seus metadados sem precisar excluí-la e recriá-la, simplificando o uso de instruções SQL. Para mais informações, consulte Criar e excluir tabelas.

    • Use comentários de linha única e múltiplas linhas em scripts MaxCompute SQL para melhorar a legibilidade do código. Para mais informações, consulte Comentários SQL.

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

  • Novos parâmetros

    • O parâmetro original odps.stage.mapper.split.size suporta configurações globais no estágio map. Utilize o novo flag para dividir tabelas por linha ou concorrência de forma flexível, melhorando a concorrência de tarefas em cenários onde o tamanho de cada linha é pequeno e as cargas de computação subsequentes são pesadas. Para mais informações, consulte Parâmetros de flag.

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

  • Alterações de comportamento

    • O recurso de otimização de partição dinâmica para estática melhora o desempenho de consultas para todas as operações DML e está 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. Para mais informações, consulte Usar o LogView 2.0 para visualizar jobs do MaxFrame.

    • Visualize os registros de execução e as durações de todos os grafos acíclicos dirigidos (DAGs) enviados nas sessões do MaxFrame.

    • Visualize interativamente a sequência de execução, tempo de execução, topologia de operadores e relações de status dos sub-DAGs em cada DAG.

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

  • O MaxFrame oferece um serviço de empacotamento automático para simplificar o gerenciamento de pacotes de terceiros no desenvolvimento de jobs baseados em Python. Declare os arquivos de dependência externos necessários durante o desenvolvimento; durante a execução, eles são empacotados e integrados automaticamente ao ambiente, eliminando a necessidade de upload manual. Para mais informações, consulte Serviço de empacotamento automatizado.

Lakehouse e recurso de tabela externa

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

    Antes deste recurso, apenas arquivos descompactados e Snappy podiam ser escritos ao criar uma tabela externa Parquet. Agora, arquivos compactados com o algoritmo ZSTD também são aceitos, melhorando a taxa de compressão, o desempenho de leitura/gravação e a relação custo-benefício. Para mais informações, consulte Tabelas externas ORC.

  • CsvStorageHandler e OpenCsvSerde foram fornecidos para suportar mais tipos de dados na leitura e gravação.

    • O MaxCompute fornece o padrão de leitura e escrita OpenCsvSerde (referido como CsvSerde), compatível com Hive. Os tipos de dados suportados pelo OpenCsvSerde são compatíveis com Hive. Também está disponível o padrão personalizado CsvStorageHandler (referido como CsvHandler), cujos tipos de dados são os da edição MaxCompute V2.0. Embora CsvSerde e CsvHandler compartilhem vários tipos básicos, como INT e FLOAT, existem diferenças significativas no comportamento de análise. Por exemplo, para o tipo FLOAT, CsvSerde define o tratamento de valores especiais como INF, enquanto CsvHandler não processa valores especiais e tenta apenas usar o método parseFloat. Consequentemente, os comportamentos de análise podem divergir ao usar ambos simultaneamente.

    • CsvStorageHandler suporta múltiplos tipos de dados básicos, como BOOLEAN, TIMESTAMP, DATE e DATETIME. Isso permite exportar dados de todos os tipos do MaxCompute para o OSS no formato CSV. Após a replicação entre regiões via OSS, os dados podem ser restaurados no MaxCompute.

  • Tabelas externas do OSS permitem realizar autenticação STS assumindo uma função RAM.

    Este recurso foi otimizado para permitir o acesso ao MaxCompute assumindo uma função RAM (sem pares AccessKey) ou acessar o MaxCompute a partir de outros serviços em nuvem assumindo uma função RAM em cenários com tabelas externas. Antes da otimização, ao assumir uma função nesses cenários, o sistema não conseguia obter as informações do usuário da função RAM porque as tabelas externas continham a função integrada às propriedades da tabela para acesso a serviços pares, impedindo o acesso. Com a otimização, o uso de funções RAM e o acesso transparente não são mais afetados negativamente mesmo com tabelas externas envolvidas. Para mais informações, consulte Tabelas externas ORC.

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

    Como os dados consultados via tabelas externas residem em um data lake externo, o sistema não estabelece metadados localmente para garantir a abertura dos dados. Sem estatísticas prévias, o otimizador usava políticas conservadoras, reduzindo a eficiência. Agora, o suporte a estatísticas temporárias permite identificar tabelas pequenas e aplicar proativamente métodos de otimização, como operações hash join, ordem de junção, redução de shuffles e encurtamento de pipelines. Para mais informações, consulte Tabela externa Paimon.