Todos os produtos
Search
Central de documentação

DataWorks:Crie uma imagem personalizada do MaxCompute

Última atualização: Aug 20, 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 MaxCompute image management 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 simultaneamente uma imagem do DataWorks e uma imagem personalizada do MaxCompute 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 as 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. Acesse 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 tenha uma instância de ambiente de desenvolvimento pessoal, clique em Go to New.

    • Se já possuir 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 Create a personal development environment instance.

    • Configuração de imagem: 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 desenvolver tarefas do MaxFrame em nós Notebook, Python e Shell do DataWorks.

    • Configurações de rede: Selecione a VPC configurada para acesso ao ACR. Isso 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

Siga estas etapas para salvar o ambiente de desenvolvimento pessoal como uma imagem do DataWorks e criar simultaneamente 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. Acesse 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 a seguir 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 Create an Enterprise instance.

    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 Create a namespace.

    Image Repository

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

    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

    Selecione 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 da imagem 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. Esta 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, acesse 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.

    • Se o teste da sua imagem personalizada atingir 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 Use the SNAT feature of an Internet NAT gateway to access the 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 Add a custom image to 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 service 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 no 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 usa um nó Notebook como exemplo para demonstrar como usar uma imagem personalizada do MaxCompute no MaxFrame. O exemplo utiliza o pacote jieba 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 demonstrar como usar uma imagem personalizada do MaxCompute no MaxFrame. O exemplo utiliza 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 anexados.

    Resource Group

    Selecione o grupo de recursos Serverless anexado.

    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ó.