Todos os produtos
Search
Central de documentação

DataWorks:Crie uma imagem personalizada do MaxCompute

Última atualização: Jul 09, 2026

O DataWorks permite criar uma imagem personalizada do MaxCompute ao gerar uma imagem personalizada do DataWorks a partir de um ambiente de desenvolvimento pessoal. Isso simplifica o desenvolvimento, pois você instala dependências de terceiros apenas uma vez e publica o ambiente como uma imagem reutilizável. É possível referenciar essa imagem diretamente em nós do DataWorks, como nós PyODPS 3 e Notebook, sem precisar empacotar e enviar recursos para cada tarefa.

Informações básicas

O recurso de Gerenciamento de imagens do MaxCompute possibilita a criação de imagens personalizadas. Você pode referenciar imagens existentes diretamente em cenários como SQL UDF, PyODPS e desenvolvimento com MaxFrame, eliminando a necessidade de empacotar e enviar recursos. No DataWorks, é possível compilar uma imagem do DataWorks e uma imagem personalizada do MaxCompute simultaneamente a partir de um ambiente de desenvolvimento pessoal.

Pré-requisitos

Crie uma imagem personalizada do MaxCompute

Preparativos

Limitações

Ao criar uma imagem personalizada do MaxCompute:

  • Tamanho da imagem: O tamanho máximo para uma única imagem do MaxCompute é 10 GB.

  • Quantidade de imagens: Cada tenant do MaxCompute pode enviar no máximo 10 imagens.

Ao usar uma imagem do MaxCompute: O DataWorks compila imagens do MaxCompute com base em um ambiente Python 3.11. Para executar uma imagem personalizada do MaxCompute criada no DataWorks, garanta que seu ambiente Python seja da versão 3.11.

Crie uma instância de ambiente de desenvolvimento pessoal

Acesse o Data Studio e crie uma instância de ambiente de desenvolvimento pessoal usando a imagem dataworks-maxcompute:py3.11-ubuntu20.04. Esse passo é obrigatório para criar uma imagem personalizada do MaxCompute ao salvar o ambiente.

  1. Acesse o Data Studio.

    1. Acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione a região desejada. Localize o workspace desejado e escolha Shortcuts > Data Studio na coluna Actions.

    2. No painel de navegação à esquerda da página do Data Studio, clique em image para acessar a página DataStudio.

  2. Navegue até a página de criação do ambiente de desenvolvimento pessoal. Na parte superior da página, clique em Personal development environment para criar uma instância conforme necessário.

    • Caso não possua uma instância de ambiente de desenvolvimento pessoal, clique em Go to New.

    • Se já tiver uma instância, clique em Manage instances. Na lista de instâncias de ambiente de desenvolvimento pessoal, clique em Create Instance.

  3. Configure o ambiente de desenvolvimento pessoal. Para criar uma imagem personalizada do MaxCompute no DataWorks, defina as configurações abaixo. Para outros parâmetros, consulte Criar uma instância de ambiente de desenvolvimento pessoal.

    • Image configuration: Selecione dataworks-maxcompute:py3.11-ubuntu20.04.

      Nota
      • A criação de uma imagem personalizada do MaxCompute só é possível mediante a seleção da imagem dataworks-maxcompute:py3.11-ubuntu20.04.

      • Uma imagem personalizada do DataWorks compilada com dataworks-maxcompute:py3.11-ubuntu20.04 como imagem base serve para desenvolvimento de tarefas do MaxFrame em nós Notebook, Python e Shell do DataWorks.

    • Network settings: Selecione a VPC configurada para acesso ao ACR. Essa configuração garante que a instância do ambiente de desenvolvimento pessoal consiga enviar a imagem para a instância do ACR durante o processo de compilação.

Instale dependências

Siga estas etapas para instalar as dependências de terceiros necessárias ao desenvolvimento no MaxCompute, utilizando o terminal da sua instância de ambiente de desenvolvimento pessoal. Este tópico usa jieba como exemplo.

  1. Na parte superior da página do Data Studio, clique em Personal development environment e selecione a instância de ambiente de desenvolvimento pessoal criada em Criar uma instância de ambiente de desenvolvimento pessoal.

  2. Na barra de ferramentas na parte inferior da página do Data Studio, clique em image para abrir o terminal.

  3. No terminal do ambiente de desenvolvimento pessoal, execute os comandos abaixo para baixar e verificar a instalação da dependência de terceiros jieba.

    ## Install the third-party dependency.
    pip install jieba;
    ## View the third-party dependency.
    pip show jieba;

Salve a imagem personalizada

Execute os passos a seguir para salvar o ambiente de desenvolvimento pessoal como uma imagem do DataWorks e, simultaneamente, criar uma imagem personalizada do MaxCompute. O DataWorks envia automaticamente a imagem gerada para a instância do ACR na mesma conta.

  1. Acesse a página de gerenciamento de instâncias do ambiente de desenvolvimento pessoal.

    1. Clique em Personal Development Environment · Please Select na parte superior da página e, em seguida, clique no nome da instância de ambiente de desenvolvimento pessoal que você criou.

    2. Na caixa de diálogo exibida, selecione Management Environment para acessar a página Personal Development Environment Instances.

  2. Navegue até a página Create Image.

    1. Na página de instâncias do ambiente de desenvolvimento pessoal, localize a instância criada.

    2. Na coluna Operation da instância, clique em Create Image.

  3. Configure os parâmetros da imagem conforme descrito na tabela abaixo e clique em Confirm.

    Parâmetro

    Descrição

    Image Name

    Nome da imagem personalizada do DataWorks. Se a imagem for sincronizada com o MaxCompute, este nome também será usado como nome da imagem personalizada do MaxCompute. Exemplo: image_jieba.

    Image instance

    Selecione uma instância do ACR da Standard Edition ou superior. Para mais informações, consulte Criar uma instância Enterprise.

    Nota

    Somente instâncias do ACR da Standard Edition ou superior podem ser usadas para compilar imagens personalizadas do MaxCompute.

    Namespace

    Selecione um namespace para a instância do ACR. Para mais informações, consulte Criar um namespace.

    Image Repository

    Escolha um repositório de imagens para a instância do ACR. Para mais informações, consulte Criar um repositório de imagens.

    Image Version

    Versão da imagem personalizada.

    Synchronize to MaxCompute

    Neste exemplo, selecione Yes. Ao ativar esta opção, a publicação da imagem cria uma imagem do MaxCompute além da imagem do DataWorks.

    Nota

    Esta opção está disponível apenas se a Image instance selecionada for da Standard Edition ou superior. Para outros tipos de instância, esta opção fica indisponível por padrão.

    Task Type

    Indique os tipos de tarefa que podem usar a imagem do DataWorks. Neste exemplo, selecione Notebook.

    • Notebook

    • Python

    • Shell

  4. Verifique o status de salvamento da imagem.

    Na página de lista de instâncias, confira o status de salvamento na coluna Image do ambiente de desenvolvimento pessoal.

  5. Clique em Confirm para criar a imagem.

  6. Se a coluna Image não estiver visível, clique em image no lado direito da instância e marque a caixa de seleção Image para exibi-la.

  7. Aguarde a criação da imagem. Quando o status mudar para Save successfully, passe o mouse sobre o ícone image ao lado do status. No pop-up exibido, clique em here para acessar a página Image Management.

Publicar a imagem personalizada

Após salvar a imagem do seu ambiente de desenvolvimento pessoal, siga estas etapas para publicá-la. Essa operação sincroniza a imagem da instância do ACR com o DataWorks e o MaxCompute, gerando tanto uma imagem personalizada do DataWorks quanto uma do MaxCompute.

  1. Acesse a página Workspaces do DataWorks e selecione a região de destino na barra de navegação superior.

  2. No painel de navegação à esquerda, vá para a aba Image Management > Custom Image. Para sua imagem, clique em Test. Após o teste ser bem-sucedido, clique em Publish.

    Nota
    • Ao testar a imagem personalizada, selecione um grupo de recursos Serverless para Test Resource Group.

    • A VPC do grupo de recursos Serverless usado no teste deve corresponder à VPC da sua instância do ACR.

    • Caso o teste da sua imagem personalizada atinja o tempo limite ao buscar pacotes de terceiros, verifique se a VPC anexada ao Test Resource Group tem acesso à internet. Para configurar o acesso público à VPC, consulte Usar o recurso SNAT de um gateway NAT da Internet para acessar a internet.

  3. Atualize a página e confirme se o Publish Status da imagem na lista mudou para Published.

  4. Na coluna Operation da imagem de destino, clique em image > Change Workspace para vincular a imagem personalizada a um workspace.

Confirme o status da imagem do MaxCompute

Depois de publicar a imagem do DataWorks, uma imagem correspondente do MaxCompute também é criada. Quando o status da imagem na aba Image Management > Custom Image no console do DataWorks mudar para Published, acesse o console do MaxCompute e siga as etapas em Adicionar uma imagem personalizada ao MaxCompute para visualizar a imagem personalizada do MaxCompute criada.

Usar uma imagem personalizada do MaxCompute

Observações de uso

  • Para desenvolver com MaxFrame, a imagem deve conter o serviço MaxFrame. Para executar uma imagem personalizada do MaxCompute no DataWorks, a imagem deve ser compilada em um ambiente Python 3.11.

  • Para utilizar uma imagem personalizada do MaxCompute no desenvolvimento de tarefas do MaxFrame dentro do DataWorks, garanta que a tarefa execute em uma imagem do DataWorks que inclua um ambiente de runtime do MaxFrame. Os requisitos específicos são:

Acesse o Data Studio

  1. Acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione a região desejada. Localize o workspace desejado e escolha Shortcuts > Data Studio na coluna Actions.

  2. No painel de navegação à esquerda da página do Data Studio, clique em image para acessar a página DataStudio.

Nó Notebook

Esta seção utiliza um nó Notebook como exemplo para demonstrar o uso de uma imagem personalizada do MaxCompute no MaxFrame. O exemplo emprega o pacote jieba proveniente da imagem personalizada do MaxCompute.

  1. Crie um nó Notebook.

    1. Na parte superior da página, clique em Personal development environment e selecione a instância de ambiente de desenvolvimento pessoal criada.

    2. À direita de Project Directory, clique em image e escolha New Node > Notebook para abrir a caixa de diálogo New Node.

    3. Na caixa de diálogo New Node, insira um Name para o nó e clique em Confirm para abrir o editor de nós.

  2. Edite o código do nó Notebook.

    # -*- coding: utf-8 -*-
    from odps import ODPS
    from maxframe.session import new_session
    import maxframe.dataframe as md  # Make sure that the maxframe.dataframe module is correctly imported.
    from maxframe import config
    # Prepare the dataset.
    test_data = [
        "Grass growing on the old plain"
    ]
    # Define a function to process data by using the jieba package from the MaxCompute custom image.
    # Use the MaxCompute custom image.
    def image_test():
        config.options.sql.settings = {
            "odps.session.image": "image_jieba"  # In this example, the MaxCompute image name is image_jieba. You can view the image name in the MaxCompute console.
        }
        def process(row):
            import jieba
            result = jieba.cut(row, cut_all=False)
            return "/".join(result)
        # Establish a MaxFrame connection.
        odps = %odps
        session = new_session(odps) 
        # Print the logview URL to view execution details.
        logview = session.get_logview_address()
        print("logview:", logview)
        # Create a MaxFrame DataFrame.
        # Encapsulate local test data, such as ["Grass growing on the old plain"], into a MaxFrame DataFrame object.
        df = md.DataFrame(test_data, columns=["raw_text"])
        # Apply the tokenization function to process the data in the DataFrame object.
        df["processed_text"] = df["raw_text"].map(process, dtype='object')
        print("Output:",df.execute().fetch())
    image_test()
    print("Data processing completed!")
  3. No lado esquerdo do editor de nós, clique em image. Na caixa de diálogo exibida, selecione um kernel Python 3.11, execute o nó e visualize as informações de log.

Nó PyODPS 3

Esta seção usa um nó PyODPS 3 como exemplo para mostrar como utilizar uma imagem personalizada do MaxCompute no MaxFrame. O exemplo aplica o pacote jieba da imagem personalizada do MaxCompute.

  1. Crie um nó PyODPS 3.

    1. À direita de Project Directory, clique em image e escolha New Node > MaxCompute > PyODPS 3 para abrir a caixa de diálogo New Node.

    2. Na caixa de diálogo New Node, insira um Name para o nó e clique em Confirm para abrir o editor de nós.

  2. Edite o código do nó PyODPS 3.

    # -*- coding: utf-8 -*-
    from odps import ODPS, options
    from odps.df import DataFrame
    import pandas as pd
    # Prepare the table data.
    options.sql.settings = {"odps.isolation.session.enable": True}
    # Create a test table.
    table = o.create_table('jieba_work_tb', 'col string', if_not_exists=True)
    # Add sample data.
    instance = o.run_sql("insert into table jieba_work_tb values ('Grass growing on the old plain')")
    instance.wait_for_success()
    # Define a function to process data by using the jieba package from the MaxCompute custom image.
    def image_test():
        def process(row):
            import jieba
            result = jieba.cut(row, cut_all=False)
            return "/".join(result)
        # Encapsulate the table as a DataFrame object.
        df = o.get_table("jieba_work_tb").to_df()
        # Apply the tokenization function to process the data in the DataFrame object.
        df = df.col.map(process).execute(image='image_jieba') # In this example, the MaxCompute image name is image_jieba. You can view the image name in the MaxCompute console.
        print("Output:",df)
    image_test()
    print("Data processing completed!")
  3. Configure o nó PyODPS 3.

    No lado direito da página de edição de nós, clique em Run Configuration e configure o nó conforme descrito na tabela a seguir.

    Parâmetro

    Descrição

    Compute Resource

    Selecione os recursos de computação do MaxCompute que você anexou.

    Resource Group

    Escolha o grupo de recursos Serverless que você anexou.

    Image

    Selecione dataworks_pyodps_py311_task_pod:prod_20241210.

  4. Na barra de ferramentas na parte superior da página de edição de nós, clique em image para executar o nó.