Améliorez votre efficacité de développement grâce à la réutilisation du code, au montage de jeux de données et à la gestion des paramètres. Connectez-vous aux moteurs de calcul tels que MaxCompute Spark, EMR Serverless Spark et AnalyticDB for Spark.
Nous vous recommandons de consulter la rubrique Développement de base de notebooks.
Différences entre les environnements
DataWorks Notebook est un outil d'analyse et de développement planifiable qui s'exécute dans deux environnements distincts :
Environnement de développement : lorsque vous exécutez une cellule sur la page d'édition de DataWorks Notebook dans DataStudio, le code s'exécute dans une instance d'environnement de développement personnel, ce qui permet une validation et un débogage rapides.
Environnement de production : après avoir validé et publié un nœud DataWorks Notebook, la planification périodique ou le remplissage de données déclenche son exécution dans une instance de tâche isolée et éphémère, garantissant des exécutions de production stables et fiables.
Gardez ces différences à l'esprit lors de l'écriture de code devant fonctionner dans les deux environnements.
Différences fonctionnelles
|
Fonctionnalité |
Environnement de développement (exécution d'une cellule) |
Environnement de production (planification périodique, remplissage de données) |
|
Référencement des ressources du projet ( |
|
Prend effet automatiquement. |
|
Lecture et écriture de jeux de données (OSS/NAS) |
Montez le jeu de données dans l'environnement de développement personnel. |
Montez le jeu de données dans les configurations de planification. |
|
Référencement des paramètres de l'espace de travail ( |
Les paramètres sont automatiquement remplacés par leurs valeurs avant l'exécution du code. |
Les paramètres sont automatiquement remplacés par leurs valeurs avant l'exécution de la tâche. |
|
Gestion des sessions Spark |
La session Spark dispose d'un délai d'inactivité de deux heures et est automatiquement libérée. |
DataWorks crée et détruit automatiquement une session de courte durée pour chaque instance de tâche. |
Réutiliser le code et les données en production
Référencer des ressources de projet (fichiers .py)
Encapsulez les fonctions ou classes courantes dans des fichiers .py et référencez-les en tant que ressources MaxCompute à l'aide de ##@resource_reference{"custom_name.py"}.
-
Créer et publier une ressource Python
Dans le volet de navigation de gauche de DataStudio DataWorks, cliquez sur l'icône
pour accéder à la Resource Management.Dans l'arborescence Resource Management, cliquez avec le bouton droit sur le répertoire cible ou cliquez sur + dans le coin supérieur droit. Sélectionnez New Resource > MaxCompute Python, et nommez la ressource
my_utils.py.-
Dans la section Document Content, cliquez sur Online Editing, collez le code de votre fonction utilitaire déboguée dans l'éditeur, puis cliquez sur Save.
# my_utils.py def greet(name): return f"Hello, {name} from resource file!" Dans la barre d'outils, cliquez sur Save puis sur Publish. Cela rend la ressource visible pour les tâches de développement et de production.
-
Référencer la ressource dans un notebook
À la première ligne d'une cellule Python de votre notebook, utilisez la syntaxe
##@resource_referencepour référencer la ressource publiée.##@resource_reference{"my_utils.py"} # If the resource is in a directory, such as my_folder/my_utils.py, you still use ##@resource_reference{"my_utils.py"} without the directory name. from my_utils import greet message = greet('DataWorks') print(message) -
Déboguer et exécuter dans l'environnement de développement
Exécutez la cellule Python. Le résultat suivant s'affiche :
Hello, DataWorks from resource file!ImportantLorsque vous déboguez et exécutez dans l'environnement de développement, le système détecte la déclaration
##@resource_referenceet télécharge le fichier cible depuis Resource Management versworkspace/_dataworks/resource_referencesdans votre répertoire personnel.Si une erreur ModuleNotFoundError survient, cliquez sur le bouton Restart dans la barre d'outils de l'éditeur pour recharger la ressource, puis réessayez.
-
Publier dans l'environnement de production et vérifier
Après avoir Save et Publish ce nœud Notebook, accédez à Operation and Maintenance Center > Auto Triggered Task et cliquez sur Test pour l'exécuter. Une fois la tâche exécutée avec succès, vous verrez la sortie
Hello, DataWorks from resource file!dans les journaux.ImportantSi une erreur There is no file with id ... apparaît, assurez-vous d'avoir d'abord publié la ressource Python dans l'environnement de production.
Pour plus d'opérations, consultez Ressources et fonctions MaxCompute .
Lire et écrire des jeux de données (OSS/NAS)
Lisez et écrivez de gros fichiers stockés sur OSS ou NAS lors de l'exécution des tâches du notebook.
Déboguer dans l'environnement de développement
-
Monter un jeu de données : accédez à la page de détails de votre environnement de développement personnel. Dans Storage Settings > Datasets, configurez le jeu de données.
-
Accès dans le code : le jeu de données est monté au chemin de montage de votre environnement de développement personnel. Vous pouvez lire ou écrire directement à ce chemin dans votre code.
# Assume you have mounted a dataset to /mnt/data/dataset in your personal development environment. import pandas as pd # Use the mount path directly. file_path = '/mnt/data/dataset/testfile.csv' df = pd.read_csv(file_path) # Use PyODPS to write the data to MaxCompute. o = %odps o.write_table('mc_test_table', df, overwrite=True) print(f"Successfully wrote data to the MaxCompute table mc_test_table")
Déployer en production
-
Monter le jeu de données : dans le volet de navigation de droite de l'éditeur de nœud de notebook, accédez à Scheduling Settings > Scheduling Policy et ajoutez le même jeu de données.
-
Accès dans le code : après avoir validé et publié le notebook, le jeu de données sera monté au chemin de montage dans l'environnement de production. Vous pouvez lire ou écrire directement à ce chemin dans votre code.
# Assume the dataset is mounted to /mnt/data/dataset in the production environment. import pandas as pd # Use the mount path directly. file_path = '/mnt/data/dataset/testfile.csv' df = pd.read_csv(file_path) # Use PyODPS to write the data to MaxCompute. o = %odps o.write_table('mc_test_table', df, overwrite=True) print(f"Successfully wrote data to the MaxCompute table mc_test_table")
Pour plus d'opérations, consultez Utiliser des jeux de données dans un environnement de développement personnel .
Référencer des paramètres d'espace de travail
Cette fonctionnalité est disponible uniquement dans DataWorks Professional Edition et versions ultérieures.
Outre les paramètres de planification, DataWorks fournit des Workspace Parameters pour réutiliser les configurations globales et isoler les environnements entre les tâches et les nœuds. Référencez-les dans les cellules SQL et Python en utilisant ${workspace.param}, où param est le nom du paramètre.
1. Créer des Workspace Parameters : dans DataWorks, accédez à Operation and Maintenance Center > Scheduling Settings > Workspace Parameters pour créer les paramètres.
2. Référencer des Workspace Parameters :
-
Référencez un Workspace Parameter dans une cellule SQL.
SELECT '${workspace.param}';Lorsque la requête s'exécute avec succès, elle affiche la valeur résolue du paramètre.
-
Référencez un Workspace Parameter dans une cellule Python.
print('${workspace.param}')Lorsque le code s'exécute avec succès, il affiche la valeur résolue du paramètre.
Pour plus de détails, consultez Utiliser les paramètres d'espace de travail .
Interagir avec les moteurs de calcul via des commandes magiques
Les commandes magiques (préfixe % ou %%) connectent une cellule Python aux ressources de calcul sans coder en dur les identifiants ou les détails de connexion.
Se connecter à MaxCompute
Avant de vous connecter à une ressource de calcul MaxCompute, assurez-vous d'avoir lié une ressource de calcul MaxCompute.
-
%odps : Obtenir un objet d'entrée PyODPS
Aucune AccessKey codée en dur n'est requise.
-
Utilisez une commande magique pour créer une connexion MaxCompute. Saisissez
%odps. Un sélecteur de ressources de calcul MaxCompute apparaît dans le coin inférieur droit (et sélectionne automatiquement une ressource de calcul). Vous pouvez cliquer sur le nom du projet MaxCompute dans le coin inférieur droit pour changer de projets MaxCompute.o=%odps -
Utilisez la ressource de calcul MaxCompute retournée pour exécuter un script PyODPS.
Par exemple, pour obtenir toutes les tables du projet actuel :
with o.execute_sql('show tables').open_reader() as reader: print(reader.raw)
-
-
%maxframe : Établir une connexion MaxFrame
Crée une session MaxFrame pour le traitement distribué de données de type pandas sur MaxCompute.
# Connect to and access the MaxCompute MaxFrame session. mf_session = %maxframe df = mf_session.read_odps_table('your_mc_table') print(df.head()) # After development and debugging, destroy the session to release resources. mf_session.destroy()
Se connecter aux ressources de calcul Spark
DataWorks Notebook prend en charge plusieurs moteurs Spark, chacun ayant des méthodes de connexion, des contextes d'exécution et des cycles de vie des ressources différents.
Un seul nœud de notebook peut se connecter à un seul type de ressource de calcul à l'aide d'une commande magique.
Comparaison des moteurs
|
Fonctionnalité |
MaxCompute Spark |
EMR Serverless Spark |
AnalyticDB for Spark |
|
Commande de connexion |
|
|
|
|
Remarque
Après l'exécution de la commande, le contexte d'exécution de l'ensemble du noyau du notebook bascule vers l'environnement PySpark distant. Vous pouvez écrire du code PySpark directement dans les cellules suivantes. |
|||
|
Prérequis |
Lier une ressource de calcul MaxCompute. |
Lier une ressource de calcul EMR et créer une Livy Gateway. |
Lier une ressource de calcul AnalyticDB for Spark. |
|
Mode environnement de développement |
Crée ou réutilise automatiquement une session Livy. |
Se connecte à une Livy Gateway existante pour créer une session. |
Crée ou réutilise automatiquement un Spark Connect Server. |
|
Mode environnement de production |
Mode Livy : soumet les jobs Spark via le service Livy. |
Mode batch spark-submit : traitement par lots pur qui ne conserve pas l'état de la session. |
Mode Spark Connect Server : interagit via le service Spark Connect. |
|
Libération des ressources en production |
La session est automatiquement libérée après la fin de l'instance de tâche. |
Les ressources sont automatiquement nettoyées après la fin de l'instance de tâche. |
Les ressources sont automatiquement libérées après la fin de l'instance de tâche. |
|
Cas d'utilisation |
Traitement par lots et tâches ETL étroitement intégrés à l'écosystème MaxCompute. |
Tâches d'analyse complexes nécessitant des configurations flexibles et une interaction avec l'écosystème big data open source, tel que Hudi et Iceberg. |
Requêtes interactives et analyses haute performance sur les tables C-Store d'AnalyticDB for MySQL. |
MaxCompute Spark
Avant de vous connecter à une ressource de calcul MaxCompute, assurez-vous d'avoir lié une ressource de calcul MaxCompute.
Connectez-vous au moteur Spark intégré de votre projet MaxCompute via Livy.
-
Établir une connexion : exécutez la commande suivante dans une cellule Python. Le système crée ou réutilise automatiquement une session Spark.
# Create a Spark Session. %maxcompute_spark -
Exécuter du code PySpark : une fois la connexion établie, utilisez la commande magique de cellule
%%sparkpour exécuter du code PySpark dans une nouvelle cellule Python.# When you use MaxCompute Spark, the Python cell must start with %%spark. %%spark df = spark.sql("SELECT * FROM your_mc_table LIMIT 10") df.show() -
Libérer manuellement la connexion : après le développement et le débogage, vous pouvez arrêter ou supprimer manuellement la session. Lors de l'exécution dans un environnement de production, le système arrête et supprime automatiquement la session Livy pour l'instance de tâche actuelle.
# Clean up the Spark session and stop the Livy session. %maxcompute_spark stop # Clean up the Spark session, then stop and delete the Livy configuration. %maxcompute_spark delete
EMR Serverless Spark
Avant de vous connecter à une ressource de calcul, liez une ressource de calcul EMR Serverless Spark dans l'espace de travail et créez une Livy Gateway.
Connectez-vous à EMR Serverless Spark via une Livy Gateway existante.
-
Établir une connexion : avant d'exécuter la commande, vous devez sélectionner la ressource de calcul EMR et la Livy Gateway dans le coin inférieur droit de la cellule.
# Basic connection %emr_serverless_spark # Or, to pass custom Spark parameters at connection time, use two percent signs (%%). %%emr_serverless_spark { "spark_conf": { "spark.emr.serverless.environmentId": "<EMR_Serverless_Spark_runtime_environment_ID>", "spark.emr.serverless.network.service.name": "<EMR_Serverless_Spark_network_connection_ID>", "spark.driver.cores": "1", "spark.driver.memory": "8g", "spark.executor.cores": "1", "spark.executor.memory": "2g", "spark.driver.maxResultSize": "32g" } }RemarqueRelation entre les paramètres personnalisés et les configurations globales
Comportement par défaut : les paramètres personnalisés définis ici s'appliquent uniquement à la session actuelle. Si vous ne fournissez pas de paramètres personnalisés, le système utilise les paramètres globaux configurés dans l'Admin Center.
Utilisation recommandée : pour les configurations devant être réutilisées dans plusieurs tâches ou par plusieurs utilisateurs, nous recommandons de les configurer globalement dans Admin Center > Serverless Spark > SPARK parameters afin de garantir la cohérence et de simplifier la gestion.
-
Règle de priorité : lorsqu'un même paramètre est défini à la fois dans les paramètres personnalisés et dans la configuration globale, l'option Configuration Priority Global dans l'Admin Center détermine quel paramétrage prend effet.
Si sélectionnée : la configuration globale remplace les paramètres personnalisés pour cette session.
Si non sélectionnée : les paramètres personnalisés pour cette session remplacent la configuration globale.
-
(Facultatif) Se reconnecter : si un administrateur supprime accidentellement le jeton de la page Livy Gateway, vous pouvez exécuter la commande suivante pour le recréer.
# Reconnect and refresh the Livy token for the current personal development environment. %emr_serverless_spark refresh_token -
Exécuter du code PySpark ou SQL : après une connexion réussie, le noyau bascule. Vous pouvez écrire du code PySpark directement dans une cellule Python ou écrire du SQL dans une cellule EMR Spark SQL.
-
Soumettre et exécuter du code SQL sur la ressource de calcul dans une cellule EMR Spark SQL
Après avoir établi une connexion à l'aide de
%emr_serverless_spark, vous pouvez écrire directement des instructions SQL dans une cellule EMR Spark SQL sans sélectionner de ressource de calcul dans la cellule.La cellule EMR Spark SQL réutilise la connexion de
%emr_serverless_sparket soumet le code à la ressource de calcul cible pour exécution.INSERT INTO employees VALUES (6, 'Fiona', 'Engineering', 98000.0), (7, 'George', 'Sales', 77000.0), (8, 'Hannah', 'Marketing', 72000.0), (9, 'Ian', 'Engineering', 105000.0), (10, 'Julia', 'HR', 68000.0); -
Soumettre et exécuter du code PySpark sur la ressource de calcul à l'aide de Python
Après avoir établi une connexion à l'aide de
%emr_serverless_spark, vous pouvez soumettre et exécuter du code PySpark dans une nouvelle cellule Python. Vous n'avez pas besoin d'ajouter le préfixe %%spark dans la cellule.df = spark.sql("SELECT * FROM employees;") df.show() +---+-------+-----------+--------+ | id| name| department| salary| +---+-------+-----------+--------+ | 1| Alice|Engineering| 95000.0| | 2| Bob| Marketing| 75000.0| | 3|Charlie|Engineering|110000.0| | 4| Diana| HR| 70000.0| | 5| Evan| Sales| 80000.0| | 6| Fiona|Engineering| 98000.0| | 7| George| Sales| 77000.0| | 8| Hannah| Marketing| 72000.0| | 9| Ian|Engineering|105000.0| | 10| Julia| HR| 68000.0| +---+-------+-----------+--------+
-
-
Libérer manuellement la connexion
ImportantSi plusieurs utilisateurs partagent une Livy Gateway, la commande d'arrêt ou de suppression affecte tous les utilisateurs utilisant cette passerelle. Utilisez ces commandes avec prudence.
# Clean up the Spark session and stop the Livy session. %emr_serverless_spark stop # Clean up the Spark session, then stop and delete the Livy configuration. %emr_serverless_spark delete
AnalyticDB for Spark
Avant de vous connecter à la ressource de calcul, liez une ressource de calcul AnalyticDB for Spark dans l'espace de travail.
Connectez-vous à un moteur AnalyticDB for Spark en créant un Spark Connect Server.
-
Établir une connexion : pour garantir la connectivité réseau, vous devez configurer correctement l'ID vSwitch et l'ID du groupe de sécurité dans les paramètres de connexion. Avant d'exécuter la commande, sélectionnez la ressource de calcul ADB Spark dans le coin inférieur droit de la cellule.
# You must configure the vSwitch ID and security group ID to establish a network connection. %adb_spark add \ --spark-conf spark.adb.version=3.5 \ --spark-conf spark.adb.eni.enabled=true \ --spark-conf spark.adb.eni.vswitchId=<vSwitch_ID_of_ADB> \ --spark-conf spark.adb.eni.securityGroupId=<security_group_id_of_your_personal_development_environment> -
Exécuter du code PySpark : après une connexion réussie, exécutez du code PySpark dans une nouvelle cellule Python.
# You can run operations only on C-Store tables. df = spark.sql("SELECT * FROM my_adb_cstore_table LIMIT 10") df.show()Remarque : le moteur AnalyticDB for Spark ne peut actuellement traiter que les tables C-Store possédant l'attribut
'storagePolicy'='COLD'. -
Libérer manuellement la connexion : après le débogage, nettoyez manuellement la session de connexion pour économiser des ressources. En production, les ressources sont automatiquement nettoyées.
%adb_spark cleanup
Se connecter à une ressource de calcul Lindorm Ray
Le groupe de ressources Ray du moteur de calcul Lindorm offre une puissance de calcul distribuée pour les charges de travail IA de bout en bout. Utilisez-le pour le développement interactif de notebooks, puis publiez-le en tant que tâche de production planifiée.
-
Établir une connexion : exécutez la commande magique
%lindorm_raydans une cellule Python. Après l'exécution de la commande, un sélecteur de ressources de calcul apparaît dans le coin inférieur droit de la cellule. Sélectionnez votre ressource de calcul Lindorm et le groupe de ressources Ray que vous avez créé.# Connect to the specified Lindorm Ray resource group. %lindorm_rayImportantUne fois connecté à une ressource de calcul Lindorm Ray, vous ne pouvez plus exécuter de cellules SQL dans le même notebook. Le moteur Lindorm Ray se concentre sur l'exécution de code Python et Ray.
Si vous exécutez la même cellule de code plusieurs fois, le système termine automatiquement la tâche Ray précédente et en démarre une nouvelle. Cela évite le gaspillage de ressources et les conflits de tâches.
-
Exécuter du code Ray : après une connexion réussie, vous pouvez écrire et exécuter directement du code Ray dans une nouvelle cellule Python. Les journaux sont diffusés en temps réel dans la zone de sortie de la cellule pour un débogage interactif.
L'exemple suivant définit une tâche distante simple à l'aide du décorateur
@ray.remote. La tâche s'exécute sur le cluster Ray, et les journaux ainsi que le résultat final sont renvoyés dans la zone de sortie de la cellule.import ray import time @ray.remote def hello_world(): print("Hello from Lindorm Ray!") time.sleep(5) return "Task finished." # Submit the remote task. result_ref = hello_world.remote() print(ray.get(result_ref)) -
(Facultatif) Spécifier des paramètres de démarrage personnalisés : pour configurer des paramètres supplémentaires pour l'environnement Ray, tels que l'installation de packages Python tiers ou le téléchargement de fichiers de code locaux, utilisez
%%lindorm_raypour établir la connexion.-
Exemple 1 : Installer des dépendances
Utilisez le paramètre
pippour installer le packagejiebadans l'environnement Ray.%%lindorm_ray { "runtime_env": { "pip": ["jieba"] } }Une fois l'environnement prêt, importez et utilisez le package dans les tâches Ray suivantes. L'exemple ci-dessous montre comment appeler
jiebadans une fonction distante pour la segmentation de mots chinois :import ray @ray.remote def do_work(x): import jieba return "/".join(jieba.cut(x)) print(ray.get(do_work.remote("Welcome to the DataWorks LindormRay solution"))) -
Exemple 2 : Télécharger et utiliser des ressources DataWorks
Utilisez le paramètre
working_dirpour télécharger des ressources depuis Resource Management vers le cluster Ray afin de les importer dans vos tâches.ImportantLorsque vous utilisez
working_dirpour télécharger des ressources, les fichiers sont transférés directement de votre environnement de développement vers le cluster Ray. Une limite de taille de 100 Mo s'applique. Si le package de ressources est trop volumineux, le téléchargement peut échouer ou le nœud Ray peut devenir instable.
# Reference and declare the path for a resource from Resource Management. %%lindorm_ray { "runtime_env": { "working_dir": "/mnt/workspace/_dataworks/resource_references" } }Supposons que vous ayez téléchargé un fichier nommé ray_resource.py dans Resource Management dans DataWorks. Lorsque vous exécutez la cellule suivante, le système analyse la déclaration
##@resource_referenceet télécharge la ressource correspondante vers/mnt/workspace/_dataworks/resource_references.ImportantDans l'environnement de développement, après avoir exécuté la cellule contenant ##@resource_reference, vous devez réexécuter la cellule
%%lindorm_rayprécédente. La réexécution de cette cellule inclut les ressources téléchargées dans le working_dir et les transfère vers le cluster Ray. Vous n'avez pas besoin de réexécuter la cellule dans l'environnement de production.import ray ##@resource_reference{"ray_resource.py"} @ray.remote def do_work(x): print('Ray says:', x) from ray_resource import fun fun() return x worker = do_work.remote("Welcome to the DataWorks LindormRay solution") print(ray.get(worker))
-
-
Planification et exploitation en production : après le développement et le débogage, validez et publiez ce nœud de notebook. Il sera planifié périodiquement en tant que nœud Lindorm Ray dans un DAG.
Paramétrage : votre code peut utiliser les paramètres de planification DataWorks standard, tels que
${bizdate}.Consultation des journaux : en production, le système charge uniquement le premier 1 Mo de journaux par défaut pour éviter les problèmes de performance. Si les journaux sont tronqués, la sortie fournit un lien pour consulter les journaux complets de la tâche dans la console Lindorm.
Libération des ressources : après la fin d'une tâche de production planifiée, la tâche Lindorm Ray passe à un état terminal et libère les ressources. Pendant le développement interactif, terminez la tâche en redémarrant le noyau ou en fermant le notebook.
Annexe : Référence rapide des commandes magiques
|
Commande magique |
Description |
Moteur de calcul |
|
|
Obtient un objet d'entrée PyODPS. |
MaxCompute |
|
|
Établit une connexion MaxFrame. |
|
|
|
Crée une session Spark. |
MaxCompute Spark |
|
|
Nettoie la session Spark et arrête la session Livy. |
|
|
|
Nettoie la session Spark, puis arrête et supprime la configuration Livy. |
|
|
|
Dans une cellule Python, se connecte à une ressource de calcul Spark existante. |
|
|
|
Crée une session Spark. |
EMR Serverless Spark |
|
|
Consulte les détails de la Livy Gateway. |
|
|
|
Nettoie la session Spark et arrête la session Livy. |
|
|
|
Nettoie la session Spark, puis arrête et supprime la configuration Livy. |
|
|
|
Actualise le jeton Livy pour l'environnement de développement personnel. |
|
|
|
Crée et se connecte à une session ADB Spark réutilisable. |
AnalyticDB for Spark |
|
|
Consulte les informations de la session Spark. |
|
|
|
Arrête et nettoie la session de connexion Spark actuelle. |
|
|
|
Établit une connexion Lindorm Ray. |
Lindorm Ray |
|
|
Établit une connexion Lindorm Ray et configure un environnement d'exécution personnalisé, tel que l'installation de dépendances ou le téléchargement de code. |
FAQ
-
Q : Pourquoi obtiens-je une erreur ModuleNotFoundError ou There is no file with id ... lors du référencement d'une ressource d'espace de travail ?
R : Vérifiez les points suivants :
Accédez à Data Development > Resource Management et assurez-vous que la ressource Python MaxCompute est enregistrée. Si cette erreur survient dans l'environnement de production, confirmez que la ressource a également été publiée.
Cliquez sur le bouton Restart dans la barre d'outils de l'éditeur Notebook pour recharger la ressource.
-
Q : Après avoir mis à jour une ressource d'espace de travail, pourquoi le Notebook utilise-t-il toujours l'ancienne version ?
R : Dans les paramètres de DataStudio, définissez
DataWorks › Notebook › Resource Reference: Download Strategysur autoOverwrite, puis cliquez sur Restart Kernel dans la barre d'outils du Notebook. -
Q : Pourquoi obtiens-je une erreur FileNotFoundError dans l'environnement de développement lors du référencement d'un jeu de données ?
R : Assurez-vous que le jeu de données est monté dans l'environnement de développement personnel sélectionné.
-
Q : Le référencement d'un jeu de données fonctionne dans l'environnement de développement mais échoue dans l'environnement de production avec l'erreur
Execute mount dataset exception! Please check your dataset config.R : Assurez-vous que le jeu de données est monté dans les Scheduling Settings du nœud Notebook et que le jeu de données OSS a été autorisé.
Dans la zone de configuration du jeu de données, si un message rouge « The current DataWorks resource group is not authorized » apparaît sous la liste déroulante du jeu de données, cliquez sur le lien Confirm Authorization à droite pour accorder les autorisations.
-
Q : Comment vérifier la version de mon environnement de développement personnel ?
R : Dans votre environnement de développement personnel, appuyez sur CMD+SHIFT+P et saisissez « ABOUT » pour consulter la version actuelle. Si une fonctionnalité nécessite la version 0.5.69 ou ultérieure, vous pouvez utiliser l'option One-click Upgrade dans l'invite de mise à niveau qui apparaît.
-
Q : Pourquoi la connexion au moteur Spark échoue-t-elle ?
R : Suivez ces étapes pour résoudre le problème :
Vérifications générales : sur la page de détails de l'espace de travail, accédez à la liste des ressources de calcul. Assurez-vous que la ressource de calcul (MaxCompute, EMR ou ADB) est liée à l'espace de travail et que votre compte dispose des autorisations nécessaires.
EMR Serverless Spark : Vérifiez que la Livy Gateway a été créée et qu'elle fonctionne correctement.
AnalyticDB for Spark : Concentrez-vous sur la résolution des problèmes réseau. Assurez-vous que
vswitchIdetsecurityGroupIdsont configurés correctement et qu'il existe une connectivité réseau entre l'environnement de développement personnel et l'instance AnalyticDB for Spark. Vérifiez les règles du groupe de sécurité pour vous assurer qu'elles autorisent la communication sur les ports nécessaires.