Todos os produtos
Search
Central de documentação

MaxCompute:Analisar detalhes de uso do MaxCompute

Última atualização: Oct 12, 2026

Analise a distribuição de custos do MaxCompute por meio dos registros de uso para evitar gastos inesperados, maximizar a utilização de recursos e reduzir despesas gerais.

Contexto

O MaxCompute (anteriormente conhecido como ODPS) é um data warehouse inteligente em cloud SaaS de nível empresarial desenvolvido pela Alibaba Cloud. Ele oferece custo-benefício, segurança, integração com IA e suporte a múltiplos modelos de computação. Os recursos de computação são cobrados via assinatura ou pagamento conforme o uso. A cobrança do MaxCompute ocorre diariamente por projeto, com faturas geradas antes das 06:00 do dia seguinte. Para mais informações sobre itens faturáveis e métodos de cobrança, consulte Itens faturáveis e métodos de cobrança.

Flutuações na fatura — geralmente aumentos de custo — podem ocorrer durante o desenvolvimento de dados ou antes do lançamento de um produto. Analisar essas variações ajuda a otimizar os jobs do seu projeto MaxCompute. No console do Billing Management da Alibaba Cloud, é possível baixar registros de uso de todos os produtos faturáveis. Para saber como obter e baixar faturas, consulte Visualizar detalhes da fatura

.

Etapa 1: Baixar detalhes de uso

Acesse a página View Usage Details

para baixar as informações diárias de uso e entender como seus custos são gerados, incluindo quais jobs impulsionam seus gastos diários com armazenamento e computação.

No topo da página, a seção Export instructions informa que os dados de uso ficam disponíveis após as 12:00 do segundo dia do mês seguinte. Os detalhes de uso servem apenas como referência e podem divergir dos detalhes da sua fatura.

Clique em Export CSV. Após concluir a exportação, acesse a página Export Record para baixar o arquivo de registros de uso.

Parâmetros

  • Time Period: Clique para selecionar as datas de início e fim.

    Se um job for executado entre dois dias — por exemplo, iniciando em 1º de dezembro e terminando em 2 de dezembro — defina a hora de início como 1º de dezembro para localizar o job nos registros de uso baixados. No entanto, os custos desse job constarão na fatura de 2 de dezembro.

  • Commodity Name:

    • MaxCompute(Subscription)

    • MaxCompute(Pay-as-you-go)

  • Billable Item: Selecione um item conforme sua necessidade.

  • Billable Item

    • ODPSDataPlus:

      • Aplica-se quando você adquiriu apenas projetos por assinatura e nenhum projeto por pagamento conforme o uso em uma região. Esta opção fornece registros de uso para itens faturáveis por pagamento conforme o uso, como armazenamento e download dentro dos projetos por assinatura.

      • Antes de 25 de abril de 2024, se você tivesse projetos por assinatura e por pagamento conforme o uso ativados na região China (Hong Kong) ou em outra região fora da China continental, esta opção aplicava-se aos registros de uso dos itens faturáveis de armazenamento e download em projetos que usavam cotas de computação por assinatura por padrão. Para consultar registros de uso de projetos que usavam cotas de pagamento conforme o uso por padrão nesse cenário, selecione MaxCompute(Pay-as-you-go).

    • ODPS_QUOTA_USAGE: Detalhes de uso de recursos reservados elasticamente para computação e Tunnel dedicado.

    • MaxCompute(Pay-as-you-go): Registros de uso para itens faturáveis por pagamento conforme o uso, como computação, armazenamento e download.

  • Time Unit: O padrão é Hour.

Etapa 2 (opcional): Carregar detalhes de uso no MaxCompute

Para analisar registros de uso com SQL do MaxCompute, importe-os para o MaxCompute. Caso prefira usar um aplicativo de planilha como o Excel, pule esta etapa.

  1. Utilize o cliente MaxCompute (odpscmd) para criar a tabela maxcomputefee conforme o exemplo abaixo.

    A lista a seguir descreve os campos presentes nos registros de uso.

    • Project ID: Lista de projetos MaxCompute da conta Alibaba Cloud atual ou da conta à qual o usuário RAM pertence.

    • Billing information ID: ID de faturamento, correspondente ao task ID para tarefas de armazenamento e computação, ao InstanceID para jobs SQL e ao Tunnel SessionId para tarefas de upload e download.

    • Data type

    • : Inclui Standard Storage (Storage), SQL Computing (ComputationSql), Inbound Private Traffic (UploadIn), Outbound Private Traffic (DownloadIn), Inbound Public Traffic (UploadEx) e Outbound Public Traffic (DownloadEx). Apenas tipos específicos são itens faturáveis.

    • Storage (bytes): Quantidade de armazenamento lida por hora, em bytes.

    • Start time ou End time: Jobs são medidos com base no tempo real de execução. Apenas o uso de armazenamento é amostrado uma vez por hora.

    • SQL/Interactive analysis read volume (bytes): Para computação SQL, representa o volume de dados de entrada de cada execução SQL, em bytes.

    • SQL complexity: Complexidade da instrução SQL, que é um fator de cobrança.

    • Inbound public traffic (bytes) ou Outbound public traffic (bytes): Volume de dados para uploads ou downloads públicos, respectivamente, em bytes.

    • MapReduce/Spark job computing (core*seconds): A unidade para computação de jobs MapReduce ou Spark é core-seconds (core*seconds). É necessário converter esse valor para core-hours para fins de faturamento.

    • Data input from Tablestore (bytes), Data input from OSS (bytes)

    • correspondem, respectivamente, aos pacotes Storage-Intensive 160, 320 ou 600.

      .

      : Volume de dados lidos de tabelas externas faturáveis, em bytes.

    • Backup storage (bytes): Quantidade de armazenamento de backup lida por hora, em bytes.

    • Region: Região onde o projeto MaxCompute está localizado.

    • Job owner: Usuário que enviou o job.

    • SQL job signature: Assinatura que identifica um job SQL.

    • Carregue dados usando o Tunnel.

      Ao carregar o arquivo CSV, garanta que o número de colunas e os tipos de dados no arquivo correspondam aos da tabela maxcomputefee. Caso contrário, a importação falhará.

    • Execute a instrução a seguir para verificar os dados.

      Instruções

      1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

      2. Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês

      3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

      4. Placeholders xref ({XREF_N}) — copie literalmente, NÃO traduza nem modifique

      5. Aplique todas as regras específicas de idioma rigorosamente

      6. Aplique as regras de stopwords com tolerância zero

      7. Use modo imperativo em passos numerados e listas de procedimentos

      8. Garanta consistência terminológica — mesmo termo = mesma tradução em todo o documento

      9. Varie os inícios de frase em listas/tabelas — nenhum iniciador repetido 3+ vezes

      10. Retorne APENAS o documento markdown em português do Brasil, sem explicações

        Etapa 3: Analisar dados de faturamento

        Analisar custos de SQL

        Mais de 95% dos usuários do MaxCompute utilizam jobs SQL, que geralmente representam uma grande parte dos gastos.

        Nota

        Fee for one SQL job = Input data volume × SQL complexity × Unit price (USD 0.0438/GB)

        • Método 1: Análise com planilha

          Analise os dados categorizados como ComputationSql na tabela de registros de uso. Verifique se o custo de determinados jobs SQL excede as expectativas ou se há um número excessivo de tarefas SQL. O custo de um job SQL é calculado pela seguinte fórmula: SQL/Interactive Analytics Read Volume (Bytes) / 1024 / 1024 / 1024 × SQL Complexity × SQL Unit Price Por exemplo, em uma tarefa SQL padrão com leitura de dados de 7352600872(Byte), o custo é Leitura de dados SQL(7352600872(Byte)/1024/1024/1024)×Complexidade SQL 1×CNY 0,3/(GB×complexidade)=CNY 2.

          .

          Por exemplo, para uma tarefa SQL padrão com leitura de dados de 7352600872 bytes, o custo é SQL data read (7352600872 bytes / 1024 / 1024 / 1024) × SQL complexity of 1 × 0.0438 USD/(GB × complexity) = 0.292 USD.

          Se sua fatura aumentar repentinamente, verifique primeiro se o pacote de recursos da assinatura foi esgotado. Após a cota de computação do pacote de recursos ser consumida, qualquer uso excedente é automaticamente faturado no modelo de pagamento conforme o uso (at a unit price of USD 0.0438 per GB × complexity), o que pode causar um pico repentino de custos.

          Para localizar um job SQL de alto custo, siga estas etapas:

          1. No CSV de detalhes de uso, filtre os registros em que a categoria de dados seja ComputationSql e ordene-os em ordem decrescente por SQL/Interactive Analytics Read Volume (Bytes) (campo computationsqlinput) para encontrar o registro com o maior volume de leitura.

          2. Anote o metering information ID da entrada (ou seja, o campo feeid).

          3. No cliente MaxCompute (odpscmd) ou no DataWorks, execute o comando wait <instanceid>; para obter a URL do Logview. Abra a URL no navegador para visualizar o conteúdo SQL e localizar o job de alto custo.

        • Método 2: Análise com SQL

          Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee Os resultados da consulta incluem colunas como ds, instanceid, projectid, source_type, computationsqlcomplexity, computationsqlinput e sqlmoney, que apresentam os custos detalhados de computação SQL para cada instância em diferentes datas. A coluna sqlmoney indica o custo do SQL, enquanto a coluna source_type diferencia os tipos de computação OdpsSpot e OdpsStandard. :

        • Os resultados da consulta revelam o seguinte:

          • Para jobs grandes, reduza os custos diminuindo a quantidade de dados lidos e reduzindo a complexidade do SQL.

          • Agrupe os dados pelo campo ds (por dia) para analisar a tendência dos custos de consumo de SQL ao longo de um período. Por exemplo, utilize ferramentas como um arquivo Excel local ou o Quick BI para criar um gráfico de linhas, permitindo uma visualização mais intuitiva da tendência do job.

          • Utilize os resultados para identificar alvos de otimização:

            1. Obtenha a URL do Logview do log de execução da instância alvo usando o instanceid consultado.

              No cliente MaxCompute (odpscmd) ou no DataWorks, execute o comando wait <instanceid>; para visualizar o log de execução da instância.

            2. Execute o comando a seguir para visualizar as informações detalhadas do job.

              O seguinte resultado é retornado:

            3. Abra a URL do Logview em um navegador. Na aba SourceXML da página do Logview, obtenha o SKYNET_NODENAME da instância.

              Nota
            4. No DataWorks, pesquise o SKYNET_NODENAME consultado para otimizar o nó alvo.

            5. Analisar tendências de crescimento de jobs

              Aumentos de custo geralmente são causados por um surto na contagem de jobs, frequentemente devido a execuções repetidas ou propriedades de agendamento configuradas incorretamente.

              • Método 1: Análise com planilha

                Analise os dados cujo tipo seja ComputationSql nos seus registros de uso. Conte o número de jobs por dia para cada projeto e verifique se a quantidade de jobs de algum projeto apresenta flutuações significativas.

              • Método 2: Análise com SQL

                Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee:

                Os resultados da execução mostram a flutuação no número de jobs bem-sucedidos enviados ao MaxCompute entre os dias 12 e 14.

                Analisar custos de armazenamento

                • Analisar o motivo de uma cobrança de armazenamento de USD 0,00001 usando uma planilha:

                  Você ativa o MaxCompute para teste e encontra uma cobrança diária de USD 0,00001 mesmo sem negócios ativos. Isso geralmente ocorre porque alguns dados, inferiores a 0,5 GB, permanecem armazenados no MaxCompute.

                  Visualize o item faturável Storage na coluna Data type. Por exemplo, o projeto maxcompute_doc contém 508 bytes de dados. De acordo com as regras de faturamento de custo de armazenamento, você é cobrado em USD 0,00001 para armazenamento de dados de até 512 MB. Os detalhes de uso no arquivo CSV exportado mostram colunas para Project ID (maxcompute_doc), Billing information ID, Data type (Storage) e Storage (bytes). Cada registro indica uma quantidade de armazenamento de 508 bytes, confirmando que uma pequena quantidade de dados residuais está gerando o custo. Se esses dados forem apenas para teste, resolva esse problema de uma das seguintes maneiras:

                  • Se os dados da tabela não forem mais utilizados, execute a instrução Drop Table para excluir os dados da tabela no projeto.

                  • Caso o projeto não seja mais necessário, exclua-o na página Projects do console do MaxCompute .

                • Analisar custos de armazenamento por menos de um dia usando uma planilha:

                  1. Verifique o item faturável Storage em Data type. Suponha que 333.507.833.900 bytes de dados estejam armazenados no projeto alian (nome do projeto de exemplo). Como os dados foram carregados às 08:00, as cobranças de armazenamento são medidas a partir das 09:07, totalizando 15 horas.

                    O período diário de medição termina no fim do dia, portanto, o último registro não é incluído na fatura de 4 de abril.

                  2. De acordo com as regras de faturamento de armazenamento

                    -- Calcular o armazenamento médio.
                    333.507.833.900 bytes × 15 / 1024 / 1024 / 1024 / 24 = 194,127109076362103 GB
                    
                    -- O custo de armazenamento por um dia é calculado da seguinte forma, com o resultado arredondado para quatro casas decimais.
                    194,127109076362103 GB × USD 0,0006/GB/dia = USD 0,1165/dia

                    , calcule primeiro a média de armazenamento de 24 horas e, em seguida, calcule o custo usando a fórmula de faturamento.

                  3. Analisar a distribuição de custos de armazenamento usando SQL

                    Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee :

                    -- Analisar custos de armazenamento.
                    SELECT  t.ds
                            ,t.projectid
                            ,t.storage
                            ,CASE    WHEN t.storage < 0.5 THEN t.storage*0.0015     -- Quando o armazenamento real de dados do projeto é maior que 0 MB e menor ou igual a 512 MB, o preço unitário é USD 0,0015/GB/dia.
                                     WHEN t.storage >= 0.5  THEN t.storage*0.0006  -- Quando o armazenamento real de dados do projeto é maior que 512 MB, o preço unitário é USD 0,0006/GB/dia.
                            END storage_fee
                    FROM    (
                                SELECT  to_char(starttime,'yyyymmdd') as ds
                                        ,projectid
                                        ,SUM(storage/1024/1024/1024)/24 AS storage
                                FROM    maxcomputefee
                                WHERE   TYPE = 'Storage'
                                and to_char(starttime,'yyyymmdd') >= '20190112'
                                GROUP BY to_char(starttime,'yyyymmdd')
                                         ,projectid
                            ) t
                    ORDER BY storage_fee DESC
                    ;

                    O resultado de execução a seguir serve apenas para demonstração. A consulta retorna três registros ordenados em ordem decrescente por storage_fee: em 2019-01-13, o armazenamento foi de aproximadamente 8.467 GB, custando cerca de CNY 73,31; em 2019-01-12, o armazenamento foi de cerca de 4.527 GB, custando aproximadamente CNY 40,22; e em 2019-01-14, o armazenamento foi de cerca de 2.672 GB, custando aproximadamente CNY 24,63. Os resultados da execução permitem tirar as seguintes conclusões:

                    • O armazenamento aumentou no dia 12 e diminuiu no dia 14.

                    • Para otimização de armazenamento, recomenda-se definir um ciclo de vida para as tabelas e excluir tabelas temporárias não utilizadas.

                  4. Analisar a distribuição de armazenamento de arquivamento, armazenamento de acesso infrequente, acesso ao armazenamento de arquivamento e acesso ao armazenamento de acesso infrequente usando SQL

                    Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee:

                    Analisar custos de download

                    O MaxCompute cobra por dados baixados pela internet pública ou entre regiões com base no volume de download.

                    Nota

                    Download cost = Downloaded data volume × Unit price (USD 0.1166/GB)

                    • Método 1: Análise com planilha

                      O tipo de dados DownloadEx representa o item faturável para downloads públicos.

                      1. Com base nos preços de Taxas de download (pagamento conforme o uso), um tráfego público de saída de aproximadamente 0,036 GB (38.199.736 bytes) gera uma taxa de (38,199,736 bytes/1024/1024/1024) × 0.1166 USD/GB = 0.004 USD Com base nos preços de Taxas de transferência de dados (tráfego público de saída), aproximadamente 0,036 GB (38.199.736 bytes) de tráfego público de saída custam (38.199.736 bytes / 1024 / 1024 / 1024) × 0,80 yuan/GB = 0,028 yuan.

                        .

                      2. Exemplo de otimização de download: Verifique as configurações do serviço Tunnel para saber se os custos estão sendo gerados pelo uso de um endpoint de rede pública. Para mais informações, consulte Endpoints. Se você estiver baixando grandes quantidades de dados da região China (Shanghai) para um local fora da rede interna dessa região (como um servidor local em Suzhou), baixe primeiro os dados para uma máquina virtual (VM) ECS dentro da região China (Shanghai) para aproveitar o tráfego de rede interna.

                      3. Método 2: Análise com SQL

                        Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee Com base nos resultados da execução, analise a tendência dos custos de download em um período específico. Execute também o comando tunnel show history para visualizar informações históricas detalhadas. Para obter mais informações sobre esse comando, consulte Comandos do Tunnel. :

                        -- Analise os detalhes de consumo de download.
                        SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
                                ,projectid
                                ,SUM((download/1024/1024/1024)*0.1166) AS download_fee
                        FROM    maxcomputefee
                        WHERE   type = 'DownloadEx'
                        AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
                        GROUP BY TO_CHAR(starttime,'yyyymmdd')
                                 ,projectid
                        ORDER BY download_fee DESC
                        ;

                        Analisar custos de jobs MapReduce

                        Nota

                        Daily computing cost for a MapReduce job = Total computing hours for the day × Unit price (USD 0.0690/Hour/Task)

                        • Método 1: Análise com planilha

                          Analise os dados cujo tipo seja MapReduce nos seus registros de uso. Calcule e classifique os custos dos jobs MapReduce por especificação de recurso de computação. A fórmula para calcular o custo de um job MapReduce é (MapReduce/Spark job computing (core*seconds) / 3600) × Unit price (USD 0.0690).

                        • Método 2: Análise com SQL

                          Este método exige que você tenha concluído a Etapa 2 e gerado a tabela maxcomputefee :

                          -- Analisar o consumo de jobs MapReduce.
                          SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
                                  ,projectid
                                  ,(cu_usage/3600)*0.0690 AS mr_fee
                          FROM    maxcomputefee
                          WHERE   type = 'MapReduce'
                          AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
                          GROUP BY TO_CHAR(starttime,'yyyymmdd')
                                   ,projectid
                                   ,cu_usage
                          ORDER BY mr_fee DESC
                          ;

                          Analisar custos de jobs de tabela externa (Tablestore e OSS)

                          Nota

                          Custo de computação para um job de tabela externa SQL = Volume de dados de entrada × Preço unitário (USD 0,0044/GB)

                          • Método 1: Análise por planilha

                            Analise os dados cujo tipo seja ComputationSqlOTS ou ComputationSqlOSS em seus registros de uso. Classifique os custos de computação dos jobs de tabela externa SQL. O cálculo do custo segue a fórmula: (SQL/interactive analysis read volume (bytes) / 1024 / 1024 / 1024) × Unit price (USD 0.0044).

                          • Método 2: Análise via SQL

                            Este método exige a conclusão da Etapa 2 e a geração da tabela maxcomputefee :

                            -- Analisar o consumo de jobs SQL da tabela externa do Tablestore.
                            SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
                                    ,projectid
                                    ,(computationsqlinput/1024/1024/1024)*1*0.0044 AS ots_fee
                            FROM    maxcomputefee
                            WHERE   type = 'ComputationSqlOTS'
                            AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
                            GROUP BY TO_CHAR(starttime,'yyyymmdd')
                                     ,projectid
                                     ,computationsqlinput
                            ORDER BY ots_fee DESC
                            ;
                            
                            -- Analisar o consumo de jobs SQL da tabela externa do OSS.
                            SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
                                    ,projectid
                                    ,(computationsqlinput/1024/1024/1024)*1*0.0044 AS oss_fee
                            FROM    maxcomputefee
                            WHERE   type = 'ComputationSqlOSS'
                            AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
                            GROUP BY TO_CHAR(starttime,'yyyymmdd')
                                     ,projectid
                                     ,computationsqlinput
                            ORDER BY oss_fee DESC
                            ;

                            Analisar custos de computação Spark

                            Nota

                            Custo diário de computação para um job Spark = Total de horas de computação no dia × Preço unitário (USD 0,1041/Hora/Tarefa)

                            • Método 1: Análise por planilha

                              Analise os dados cujo tipo seja Spark em seus registros de uso. Classifique os custos dos jobs. O cálculo do custo segue a fórmula: (MapReduce/Spark job computing (core*seconds) / 3600) × Unit price (USD 0.1041).

                            • Método 2: Análise via SQL

                              Este método exige a conclusão da Etapa 2 e a geração da tabela maxcomputefee :

                              -- Analisar o consumo de jobs do Spark.
                              SELECT  TO_CHAR(starttime,'yyyymmdd') AS ds
                                      ,projectid
                                      ,(cu_usage/3600)*0.1041 AS spark_fee
                              FROM    maxcomputefee
                              WHERE   type = 'spark'
                              AND     TO_CHAR(starttime,'yyyymmdd') >= '20190112'
                              GROUP BY TO_CHAR(starttime,'yyyymmdd')
                                       ,projectid
                                       ,cu_usage
                              ORDER BY spark_fee DESC
                              ;