Tous les produits
Search
Centre de documentation

DataWorks:Créer une image personnalisée MaxCompute

Dernière mise à jour :Aug 20, 2026

DataWorks vous permet de créer une image personnalisée MaxCompute lors de la génération d'une image personnalisée DataWorks depuis un environnement de développement personnel. Cette approche simplifie le développement en vous permettant d'installer les dépendances tierces une seule fois et de publier l'environnement sous forme d'image réutilisable. Vous pouvez référencer cette image directement dans les nœuds DataWorks, tels que les nœuds PyODPS 3 et Notebook, sans avoir à empaqueter ni télécharger des ressources pour chaque tâche.

Contexte

La fonctionnalité de gestion des images MaxCompute vous permet de créer des images personnalisées. Vous pouvez référencer directement les images existantes dans des scénarios tels que le développement de fonctions SQL UDF, PyODPS et MaxFrame, ce qui élimine la nécessité d'empaqueter et de télécharger des ressources. Dans DataWorks, vous pouvez construire simultanément une image DataWorks et une image personnalisée MaxCompute à partir d'un environnement de développement personnel.

Prérequis

Créer une image personnalisée MaxCompute

Préparatifs

Limites

Lors de la création d'une image personnalisée MaxCompute :

  • Taille de l'image : La taille maximale d'une seule image MaxCompute est de 10 GB.

  • Nombre d'images : Chaque locataire MaxCompute peut télécharger un maximum de 10 images.

Lors de l'utilisation d'une image MaxCompute : DataWorks construit les images MaxCompute sur la base d'un environnement Python 3.11. Pour exécuter une image personnalisée MaxCompute construite dans DataWorks, assurez-vous que votre environnement Python est en version 3.11.

Créer une instance d'environnement de développement personnel

Accédez à Data Studio et créez une instance d'environnement de développement personnel en utilisant l'image dataworks-maxcompute:py3,11-ubuntu20,04. Cette étape est requise pour créer une image personnalisée MaxCompute lorsque vous enregistrez l'environnement.

  1. Accédez à Data Studio.

    1. Accédez à la page Workspaces dans la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région souhaitée. Localisez l'espace de travail désiré et choisissez Shortcuts > Data Studio dans la colonne Actions.

    2. Dans le volet de navigation de gauche de la page Data Studio, cliquez sur l'icône image pour accéder à la page DataStudio.

  2. Accédez à la page de création d'un environnement de développement personnel. En haut de la page, cliquez sur Personal development environment pour créer une instance selon vos besoins.

    • Si vous ne disposez pas d'instance d'environnement de développement personnel, cliquez sur Go to New.

    • Si vous possédez déjà une instance, cliquez sur Manage instances. Dans la liste des instances d'environnement de développement personnel, cliquez sur Create Instance.

  3. Configurez l'environnement de développement personnel. Pour créer une image personnalisée MaxCompute dans DataWorks, vous devez configurer les paramètres suivants. Pour les autres paramètres, consultez la rubrique Créer une instance d'environnement de développement personnel.

    • Configuration de l'image : Sélectionnez dataworks-maxcompute:py3,11-ubuntu20,04.

      Remarque
      • Vous ne pouvez créer une image personnalisée MaxCompute que si vous sélectionnez l'image dataworks-maxcompute:py3,11-ubuntu20,04.

      • Une image personnalisée DataWorks construite à partir de dataworks-maxcompute:py3,11-ubuntu20,04 comme image de base peut être utilisée pour le développement de tâches MaxFrame dans les nœuds Notebook, Python et Shell de DataWorks.

    • Paramètres réseau : Sélectionnez le VPC que vous avez configuré pour l'accès ACR. Cela garantit que l'instance d'environnement de développement personnel peut pousser l'image vers l'instance ACR pendant le processus de construction.

Installer les dépendances

Suivez ces étapes pour installer les dépendances tierces requises pour le développement MaxCompute dans le terminal de votre instance d'environnement de développement personnel. Cette rubrique utilise jieba à titre d'exemple.

  1. En haut de la page Data Studio, cliquez sur Personal development environment et sélectionnez l'instance d'environnement de développement personnel que vous avez créée à l'étape Créer une instance d'environnement de développement personnel.

  2. Dans la barre d'outils en bas de la page Data Studio, cliquez sur l'icône image pour ouvrir le terminal.

  3. Dans le terminal de l'environnement de développement, exécutez les commandes suivantes pour télécharger et vérifier l'installation de la dépendance tierce jieba.

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

Enregistrer l'image personnalisée

Suivez les étapes ci-dessous pour enregistrer votre environnement de développement personnel en tant qu'image DataWorks et créer simultanément une image personnalisée MaxCompute. DataWorks télécharge automatiquement l'image générée vers l'instance ACR associée au même compte.

  1. Accédez à la page de gestion des instances d'environnement de développement personnel.

    1. Cliquez sur Personal Development Environment · Please Select en haut de la page, puis cliquez sur le nom de l'instance d'environnement de développement personnel que vous avez créée.

    2. Dans la boîte de dialogue qui s'affiche, sélectionnez Management Environment pour accéder à la page Personal Development Environment Instances.

  2. Accédez à la page de création d'image.

    1. Sur la page des instances d'environnement de développement personnel, localisez l'instance que vous avez créée.

    2. Dans la colonne Operation de l'instance, cliquez sur Create Image.

  3. Configurez les paramètres de l'image comme indiqué dans le tableau suivant, puis cliquez sur Confirm.

    Parameter

    Description

    Image Name

    Nom de l'image personnalisée DataWorks. Si l'image est synchronisée avec MaxCompute, ce nom sert également de nom à l'image personnalisée MaxCompute. Exemple : image_jieba.

    Image instance

    Sélectionnez une instance ACR de édition Standard ou supérieure. Pour plus d'informations, consultez Créer une instance Enterprise.

    Remarque

    Seules les instances ACR de édition Standard ou supérieure peuvent être utilisées pour générer des images personnalisées MaxCompute.

    Namespace

    Sélectionnez un namespace pour l'instance ACR. Pour plus d'informations, consultez Créer un namespace.

    Image Repository

    Sélectionnez un dépôt d'images pour l'instance ACR. Pour plus d'informations, consultez Créer un dépôt d'images.

    Image Version

    Version de l'image personnalisée.

    Synchronize to MaxCompute

    Dans cet exemple, sélectionnez Yes. Lorsque cette option est activée, la publication de l'image crée une image MaxCompute en plus de l'image DataWorks.

    Remarque

    Cette option n'est disponible que si l'Image instance sélectionnée est de édition Standard ou supérieure. Pour les autres types d'instances, cette option est indisponible par défaut.

    Task Type

    Sélectionnez les types de tâches pouvant utiliser l'image DataWorks. Dans cet exemple, vous pouvez sélectionner Notebook.

    • Notebook

    • Python

    • Shell

  4. Vérifiez l'état de l'enregistrement de l'image.

    Sur la page de liste des instances, vous pouvez consulter l'état de l'enregistrement de l'image dans la colonne Image de l'environnement de développement personnel.

  5. Cliquez sur Confirm pour créer l'image.

  6. Si la colonne Image n'est pas visible, cliquez sur l'icône image à droite de l'instance et cochez la case Image pour l'afficher.

  7. Attendez la création de l'image. Lorsque l'état passe à Save successfully, survolez l'icône image située à côté de l'état. Dans la fenêtre contextuelle qui s'affiche, cliquez sur here pour accéder à la page Image Management.

Publier l'image personnalisée

Après avoir enregistré l'image depuis votre environnement de développement personnel, suivez les étapes ci-dessous pour la publier. Cette opération synchronise l'image depuis l'instance ACR vers DataWorks et MaxCompute, ce qui génère à la fois une image personnalisée DataWorks et une image personnalisée MaxCompute.

  1. Accédez à la page Workspaces de DataWorks et sélectionnez la région cible dans la barre de navigation supérieure.

  2. Dans le volet de navigation de gauche, accédez à l'onglet Image Management > Custom Image. Pour votre image, cliquez sur Test. Une fois le test réussi, cliquez sur Publish.

    Remarque
    • Lors du test de l'image personnalisée, sélectionnez un groupe de ressources Serverless pour le paramètre Test Resource Group.

    • Le VPC du groupe de ressources Serverless utilisé pour le test doit correspondre au VPC de votre instance ACR.

    • Si le test de votre image personnalisée expire lors du téléchargement de packages tiers, vérifiez que le VPC associé au Test Resource Group dispose d'un accès Internet. Pour configurer l'accès public au VPC, consultez la rubrique Utiliser la fonctionnalité SNAT d'une passerelle NAT Internet pour accéder à Internet.

  3. Actualisez la page et vérifiez que le statut Publish Status de l'image dans la liste passe à Published.

  4. Dans la colonne Operation correspondant à l'image cible, cliquez sur image > Change Workspace afin d'associer l'image personnalisée à un espace de travail.

Confirmer le statut de l'image MaxCompute

Une fois que vous avez publié l'image DataWorks, une image MaxCompute correspondante est également créée. Lorsque le statut de l'image dans l'onglet Image Management > Custom Image de la console DataWorks passe à Published, accédez à la console MaxCompute et suivez les instructions de la rubrique Ajouter une image personnalisée à MaxCompute pour afficher l'image personnalisée MaxCompute créée.

Utiliser une image personnalisée MaxCompute

Remarques sur l'utilisation

  • Pour développer avec MaxFrame, l'image doit contenir le service MaxFrame. Pour exécuter une image personnalisée MaxCompute dans DataWorks, l'image doit être construite dans un environnement Python 3.11.

  • Pour utiliser une image personnalisée MaxCompute afin de développer des tâches MaxFrame dans DataWorks, assurez-vous que la tâche s'exécute dans une image DataWorks incluant un environnement d'exécution MaxFrame. Les exigences spécifiques sont les suivantes :

Accéder à Data Studio

  1. Accédez à la page Workspaces dans la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région souhaitée. Localisez l'espace de travail cible et choisissez Shortcuts > Data Studio dans la colonne Actions.

  2. Dans le volet de navigation de gauche de la page Data Studio, cliquez sur l'icône image pour accéder à la page DataStudio.

Nœud Notebook

Cette section utilise un nœud Notebook comme exemple pour illustrer l'utilisation d'une image personnalisée MaxCompute dans MaxFrame. L'exemple exploite le package jieba présent dans l'image personnalisée MaxCompute.

  1. Créez un nœud Notebook.

    1. En haut de la page, cliquez sur Personal development environment et sélectionnez l'instance d'environnement de développement personnel créée.

    2. À droite de Project Directory, cliquez sur l'icône image et choisissez New Node > Notebook pour ouvrir la boîte de dialogue New Node.

    3. Dans la boîte de dialogue New Node, saisissez un Name pour le nœud et cliquez sur Confirm pour ouvrir l'éditeur de nœud.

  2. Modifiez le code du nœud 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. Sur le côté gauche de l'éditeur de nœud, cliquez sur l'icône image. Dans la boîte de dialogue qui s'affiche, sélectionnez un Python 3.11 kernel, exécutez le nœud et consultez les informations du journal.

Nœud PyODPS 3

Cette section utilise un nœud PyODPS 3 comme exemple pour illustrer l'utilisation d'une image personnalisée MaxCompute dans MaxFrame. L'exemple exploite le package jieba présent dans l'image personnalisée MaxCompute.

  1. Créez un nœud PyODPS 3.

    1. À droite de Project Directory, cliquez sur l'icône image et choisissez New Node > MaxCompute > PyODPS 3 pour ouvrir la boîte de dialogue New Node.

    2. Dans la boîte de dialogue New Node, saisissez un Name pour le nœud et cliquez sur Confirm pour ouvrir l'éditeur de nœud.

  2. Modifiez le code du nœud 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. Configurez le nœud PyODPS 3.

    Sur le côté droit de la page d'édition du nœud, cliquez sur Run Configuration et configurez le nœud comme décrit dans le tableau suivant.

    Parameter

    Description

    Compute Resource

    Sélectionnez les ressources de calcul MaxCompute que vous avez jointes.

    Resource Group

    Sélectionnez le groupe de ressources Serverless que vous avez joint.

    Image

    Sélectionnez dataworks_pyodps_py311_task_pod:prod_20241210.

  4. Dans la barre d'outils en haut de la page d'édition du nœud, cliquez sur l'icône image pour exécuter le nœud.