Mejore la eficiencia del desarrollo mediante la reutilización de código, el montaje de conjuntos de datos y la gestión de parámetros. Conéctese a motores de cómputo como MaxCompute Spark, EMR Serverless Spark y AnalyticDB for Spark.
Se recomienda leer Basic Notebook Development.
Diferencias entre entornos
DataWorks Notebook es una herramienta de desarrollo y análisis programable que se ejecuta en dos entornos:
Entorno de desarrollo: cuando se ejecuta una celda en la página de edición de DataWorks Notebook dentro de DataStudio, el código se procesa en una instancia del entorno de desarrollo personal. Esto permite validar y depurar con rapidez.
Entorno de producción: después de enviar y publicar un nodo de DataWorks Notebook, la programación periódica o la retroalimentación de datos desencadenan su ejecución. Esta se realiza en una instancia de tarea efímera y aislada, lo que garantiza ejecuciones estables y confiables en producción.
Tenga en cuenta estas diferencias al escribir código que deba funcionar en ambos entornos.
Diferencias de funciones
|
Función |
Entorno de desarrollo (ejecución de una celda) |
Entorno de producción (programación periódica, retroalimentación de datos) |
|
Referencia a recursos del proyecto ( |
|
Entra en vigor automáticamente. |
|
Lectura y escritura de conjuntos de datos (OSS/NAS) |
Monte el conjunto de datos en el entorno de desarrollo personal. |
Monte el conjunto de datos en las configuraciones de programación. |
|
Referencia a parámetros del espacio de trabajo ( |
Los parámetros se sustituyen automáticamente por sus valores antes de ejecutar el código. |
Los parámetros se sustituyen automáticamente por sus valores antes de ejecutar la tarea. |
|
Gestión de sesiones de Spark |
La sesión de Spark tiene un tiempo de espera de inactividad de dos horas y se libera automáticamente. |
DataWorks crea y destruye automáticamente una sesión de corta duración para cada instancia de tarea. |
Reutilización de código y datos en producción
Referencia a recursos del proyecto (archivos .py)
Encapsule las funciones o clases comunes en archivos .py y refiriéralos como recursos de MaxCompute mediante ##@resource_reference{"custom_name.py"}.
-
Cree y publique un recurso de Python
En el panel de navegación izquierdo de DataStudio de DataWorks, haga clic en el icono
para ir a Resource Management.En el árbol de Resource Management, haga clic con el botón derecho en el directorio de destino o haga clic en + en la esquina superior derecha. Seleccione New Resource > MaxCompute Python y asigne al recurso el nombre
my_utils.py.-
En la sección Document Content, haga clic en Online Editing, pegue el código de la función auxiliar ya depurado en el editor y haga clic en Save.
# my_utils.py def greet(name): return f"Hello, {name} from resource file!" En la barra de herramientas, haga clic en Save y luego en Publish. De este modo, el recurso queda visible tanto para las tareas de desarrollo como para las de producción.
-
Refiera el recurso en un notebook
En la primera línea de una celda de Python del notebook, utilice la sintaxis
##@resource_referencepara referir el recurso publicado.##@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) -
Depure y ejecute en el entorno de desarrollo
Ejecute la celda de Python. Se imprime el siguiente resultado:
Hello, DataWorks from resource file!ImportanteCuando se depura y ejecuta en el entorno de desarrollo, el sistema detecta la declaración
##@resource_referencey descarga el archivo de destino desde Resource Management haciaworkspace/_dataworks/resource_referencesen su directorio personal.Si ocurre un error de
ModuleNotFoundError, haga clic en el botón Restart de la barra de herramientas del editor para volver a cargar el recurso y vuelva a intentarlo. -
Publique en el entorno de producción y compruebe
Después de hacer clic en Save y Publish para este nodo de Notebook, vaya a Operation and Maintenance Center > Auto Triggered Task y haga clic en Test para ejecutarlo. Una vez que la tarea se ejecute correctamente, verá la salida
Hello, DataWorks from resource file!en los registros.ImportanteSi ocurre un error de
There is no file with id ..., asegúrese de haber publicado primero el recurso de Python en el entorno de producción.
Para más operaciones, consulte MaxCompute resources and functions .
Lectura y escritura de conjuntos de datos (OSS/NAS)
Lea y escriba archivos grandes almacenados en OSS o NAS durante la ejecución de tareas del notebook.
Depuración en el entorno de desarrollo
-
Monte un conjunto de datos: vaya a la página de detalles de su entorno de desarrollo personal. En Storage Settings > Datasets, configure el conjunto de datos.
-
Acceso en el código: el conjunto de datos se monta en la ruta de montaje de su entorno de desarrollo personal. Puede leer o escribir directamente en esta ruta desde el código.
# 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")
Despliegue en producción
-
Monte el conjunto de datos: en el panel de navegación derecho del editor de nodos de notebook, vaya a Scheduling Settings > Scheduling Policy y agregue el mismo conjunto de datos.
-
Acceso en el código: después de enviar y publicar el notebook, el conjunto de datos se montará en la ruta de montaje del entorno de producción. Puede leer o escribir directamente en esta ruta desde el código.
# 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")
Para más operaciones, consulte Use datasets in a personal development environment .
Referencia a parámetros del espacio de trabajo
Esta función solo está disponible en DataWorks Professional Edition y versiones posteriores.
Además de scheduling parameters, DataWorks proporciona Workspace Parameters para reutilizar configuraciones globales y aislar entornos entre tareas y nodos. Refiéralos en celdas SQL y de Python mediante ${workspace.param}, donde param es el nombre del parámetro.
Cree los parámetros del espacio de trabajo: en DataWorks, vaya a Operation and Maintenance Center > Scheduling Settings > Workspace Parameters para crear los parámetros.
-
Refiera los parámetros del espacio de trabajo:
-
Refiera un parámetro del espacio de trabajo en una celda SQL.
SELECT '${workspace.param}';Cuando la consulta se ejecuta correctamente, se imprime el valor resuelto del parámetro.
-
Refiera un parámetro del espacio de trabajo en una celda de Python.
print('${workspace.param}')Cuando el código se ejecuta correctamente, se imprime el valor resuelto del parámetro.
Para más detalles, consulte Use workspace parameters .
-
Interacción con motores de cómputo mediante comandos mágicos
Los comandos mágicos (con prefijo % o %%) conectan una celda de Python a los recursos de cómputo sin necesidad de codificar credenciales ni detalles de conexión.
Conexión a MaxCompute
Antes de conectarse a un recurso de cómputo de MaxCompute, asegúrese de haber bound a MaxCompute compute resource.
-
%odps: obtención de un objeto de entrada de PyODPSNo requiere codificar un AccessKey.
-
Utilice un comando mágico para crear una conexión a MaxCompute. Introduzca
%odps. Aparecerá un selector de recursos de cómputo de MaxCompute en la esquina inferior derecha (que selecciona automáticamente un recurso). Para cambiar de proyecto de MaxCompute, haga clic en el nombre del proyecto en la esquina inferior derecha.o=%odps -
Utilice el recurso de cómputo de MaxCompute devuelto para ejecutar un script de PyODPS.
Por ejemplo, para obtener todas las tablas del proyecto actual:
with o.execute_sql('show tables').open_reader() as reader: print(reader.raw)
-
-
%maxframe: establecimiento de una conexión de MaxFrameCrea una sesión de MaxFrame para el procesamiento distribuido de datos similar a pandas en 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()
Conexión a recursos de cómputo de Spark
DataWorks Notebook admite varios motores de Spark, cada uno con métodos de conexión, contextos de ejecución y ciclos de vida de recursos distintos.
Un solo nodo de notebook puede conectarse a un único tipo de recurso de cómputo mediante un comando mágico.
Comparación de motores
|
Función |
MaxCompute Spark |
EMR Serverless Spark |
AnalyticDB for Spark |
|
Comando de conexión |
|
|
|
|
Nota
Después de ejecutar el comando, el contexto de ejecución de todo el kernel del notebook cambia al entorno remoto de PySpark. En las celdas siguientes, puede escribir código PySpark directamente. |
|||
|
Requisitos previos |
Vincular un recurso de cómputo de MaxCompute. |
Vincular un recurso de cómputo de EMR y crear un Livy Gateway. |
Vincular un recurso de cómputo de AnalyticDB for Spark. |
|
Modo del entorno de desarrollo |
Crea o reutiliza automáticamente una sesión de Livy. |
Se conecta a un Livy Gateway existente para crear una sesión. |
Crea o reutiliza automáticamente un Spark Connect Server. |
|
Modo del entorno de producción |
Modo Livy: envía trabajos de Spark a través del servicio Livy. |
Modo por lotes spark-submit: procesamiento por lotes puro que no conserva el estado de la sesión. |
Modo Spark Connect Server: interactúa a través del servicio Spark Connect. |
|
Liberación de recursos en producción |
La sesión se libera automáticamente cuando termina la instancia de tarea. |
Los recursos se limpian automáticamente cuando termina la instancia de tarea. |
Los recursos se liberan automáticamente cuando termina la instancia de tarea. |
|
Casos de uso |
Procesamiento por lotes y tareas ETL estrechamente integrados con el ecosistema de MaxCompute. |
Tareas de análisis complejas que requieren configuraciones flexibles e interacción con el ecosistema de big data de código abierto, como Hudi e Iceberg. |
Consultas interactivas y análisis de alto rendimiento en tablas C-Store de AnalyticDB for MySQL. |
MaxCompute Spark
Antes de conectarse a un recurso de cómputo de MaxCompute, asegúrese de haber bound a MaxCompute compute resource.
Conéctese al motor Spark integrado de su proyecto de MaxCompute a través de Livy.
-
Establezca la conexión: ejecute el siguiente comando en una celda de Python. El sistema crea o reutiliza automáticamente una sesión de Spark.
# Create a Spark Session. %maxcompute_spark -
Ejecute código PySpark: una vez establecida la conexión, utilice el cell magic
%%sparkpara ejecutar código PySpark en una nueva celda de 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() -
Libere la conexión manualmente: después de desarrollar y depurar, puede detener o eliminar la sesión de forma manual. Al ejecutarse en un entorno de producción, el sistema detiene y elimina automáticamente la sesión de Livy de la instancia de tarea actual.
# 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
Antes de conectarse a un recurso de cómputo, bind an EMR Serverless Spark compute resource en el espacio de trabajo y create a Livy Gateway.
Conéctese a EMR Serverless Spark a través de un Livy Gateway existente.
-
Establezca la conexión: antes de ejecutar el comando, debe seleccionar el recurso de cómputo de EMR y el Livy Gateway en la esquina inferior derecha de la celda.
# 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" } }NotaRelación entre los parámetros personalizados y las configuraciones globales
Comportamiento predeterminado: los parámetros personalizados definidos aquí se aplican únicamente a la sesión actual. Si no proporciona parámetros personalizados, el sistema utiliza los parámetros globales configurados en Admin Center.
Uso recomendado: para las configuraciones que deben reutilizarse en varias tareas o por varios usuarios, se recomienda configurarlas globalmente en Admin Center > Serverless Spark > SPARK parameters. Así se garantiza la coherencia y se simplifica la gestión.
-
Regla de prioridad: cuando un mismo parámetro se define tanto en los parámetros personalizados como en la configuración global, la opción Configuration Priority de Admin Center determina qué ajuste entra en vigor.
Si está seleccionada: la configuración global anula los parámetros personalizados de esta sesión.
Si no está seleccionada: los parámetros personalizados de esta sesión anulan la configuración global.
-
(Opcional) Vuelva a conectarse: si un administrador elimina accidentalmente el token desde la página de Livy Gateway, ejecute el siguiente comando para volver a crearlo.
# Reconnect and refresh the Livy token for the current personal development environment. %emr_serverless_spark refresh_token -
Ejecute código PySpark o SQL: tras establecer la conexión correctamente, el kernel cambia. Puede escribir código PySpark directamente en una celda de Python o escribir SQL en una celda de EMR Spark SQL.
-
Envíe y ejecute código SQL en el recurso de cómputo desde una celda de EMR Spark SQL
Después de establecer una conexión con
%emr_serverless_spark, puede escribir instrucciones SQL directamente en una celda de EMR Spark SQL sin necesidad de seleccionar un recurso de cómputo en la celda.La celda de EMR Spark SQL reutiliza la conexión de
%emr_serverless_sparky envía el código al recurso de cómputo de destino para su ejecución.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); -
Envíe y ejecute código PySpark en el recurso de cómputo con Python
Después de establecer una conexión con
%emr_serverless_spark, puede enviar y ejecutar código PySpark en una nueva celda de Python. No es necesario agregar el prefijo %%spark en la celda.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| +---+-------+-----------+--------+
-
-
Libere la conexión manualmente
ImportanteSi varios usuarios comparten un Livy Gateway, los comandos stop o delete afectan a todos los que utilizan la puerta de enlace. Utilice estos comandos con precaución.
# 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
Antes de conectarse al recurso de cómputo, bind an AnalyticDB for Spark compute resource en el espacio de trabajo.
Conéctese a un motor de AnalyticDB for Spark mediante la creación de un Spark Connect Server.
-
Establezca la conexión: para garantizar la conectividad de red, debe configurar correctamente el ID del vSwitch y el ID del security group en los parámetros de conexión. Antes de ejecutar el comando, seleccione el recurso de cómputo de ADB Spark en la esquina inferior derecha de la celda.
# 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> -
Ejecute código PySpark: una vez establecida la conexión correctamente, ejecute código PySpark en una nueva celda de Python.
# You can run operations only on C-Store tables. df = spark.sql("SELECT * FROM my_adb_cstore_table LIMIT 10") df.show()Nota : actualmente, el motor de AnalyticDB for Spark solo puede procesar tablas C-Store que tengan el atributo
'storagePolicy'='COLD'. -
Libere la conexión manualmente: después de depurar, limpie manualmente la sesión de conexión para ahorrar recursos. En producción, los recursos se limpian automáticamente.
%adb_spark cleanup
Conexión a un recurso de cómputo de Lindorm Ray
El resource group de Ray del motor de cómputo de Lindorm proporciona cómputo distribuido para cargas de trabajo de IA de extremo a extremo. Úselo para el desarrollo interactivo en notebooks y, después, publíquelo como una tarea de producción programada.
-
Establezca la conexión: ejecute el comando mágico
%lindorm_rayen una celda de Python. Después de ejecutar el comando, aparecerá un selector de recursos de cómputo en la esquina inferior derecha de la celda. Seleccione su recurso de cómputo de Lindorm y el resource group de Ray que creó.# Connect to the specified Lindorm Ray resource group. %lindorm_rayImportanteDespués de conectarse a un recurso de cómputo de Lindorm Ray, ya no podrá ejecutar celdas SQL en el mismo notebook. El motor de Lindorm Ray se centra en ejecutar código Python y Ray.
Si ejecuta la misma celda de código varias veces, el sistema finaliza automáticamente el trabajo de Ray anterior e inicia uno nuevo. Esto evita el desperdicio de recursos y los conflictos entre tareas.
-
Ejecute código Ray: tras establecer la conexión correctamente, puede escribir y ejecutar código Ray directamente en una nueva celda de Python. Los registros se transmiten al área de salida de la celda en tiempo real para facilitar la depuración interactiva.
En el siguiente ejemplo se define una tarea remota sencilla con el decorador
@ray.remote. La tarea se ejecuta en el clúster de Ray, y los registros junto con el resultado final se devuelven al área de salida de la celda.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)) -
(Opcional) Especifique parámetros de inicio personalizados: para configurar ajustes adicionales en el entorno de Ray, como instalar paquetes de Python de terceros o cargar archivos de código locales, utilice
%%lindorm_raypara establecer la conexión.-
Ejemplo 1: instalación de dependencias
Utilice el parámetro
pippara instalar el paquetejiebaen el entorno de Ray.%%lindorm_ray { "runtime_env": { "pip": ["jieba"] } }Una vez que el entorno esté listo, importe y utilice el paquete en las tareas de Ray posteriores. En el siguiente ejemplo se muestra cómo llamar a
jiebaen una función remota para segmentar palabras en chino: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"))) -
Ejemplo 2: carga y uso de recursos de DataWorks
Utilice el parámetro
working_dirpara cargar recursos de Resource Management al clúster de Ray y poder importarlos en sus tareas.ImportanteCuando utiliza
working_dirpara cargar recursos, los archivos se transfieren directamente desde su entorno de desarrollo al clúster de Ray. Se aplica un límite de tamaño de 100 MB. Si el paquete de recursos es demasiado grande, la carga podría fallar o el nodo de Ray podría volverse inestable.
# Reference and declare the path for a resource from Resource Management. %%lindorm_ray { "runtime_env": { "working_dir": "/mnt/workspace/_dataworks/resource_references" } }Suponga que cargó un archivo llamado ray_resource.py en Resource Management de DataWorks. Al ejecutar la siguiente celda, el sistema analiza la declaración
##@resource_referencey descarga el recurso correspondiente en/mnt/workspace/_dataworks/resource_references.ImportanteEn el entorno de desarrollo, después de ejecutar la celda que contiene ##@resource_reference, debe volver a ejecutar la celda
%%lindorm_rayanterior. Al volver a ejecutar esta celda, se incluyen los recursos descargados en working_dir y se cargan en el clúster de Ray. En el entorno de producción no es necesario volver a ejecutar la celda.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))
-
-
Programación y O&M en producción: después de desarrollar y depurar, envíe y publique este nodo de notebook. Se programará periódicamente como un nodo de Lindorm Ray dentro de un DAG.
Parametrización: su código puede utilizar los parámetros de programación estándar de DataWorks, como
${bizdate}.Visualización de registros: en producción, el sistema carga de forma predeterminada solo el primer 1 MB de registros para evitar problemas de rendimiento. Si los registros se truncan, la salida proporciona un enlace para consultar los registros completos de la tarea en la consola de Lindorm.
Liberación de recursos: cuando termina una tarea de producción programada, la tarea de Lindorm Ray entra en un estado terminal y libera los recursos. Durante el desarrollo interactivo, finalice la tarea reiniciando el kernel o cerrando el notebook.
Apéndice: referencia rápida de comandos mágicos
|
Comando mágico |
Descripción |
Motor de cómputo |
|
|
Obtiene un objeto de entrada de PyODPS. |
MaxCompute |
|
|
Establece una conexión de MaxFrame. |
|
|
|
Crea una sesión de Spark. |
MaxCompute Spark |
|
|
Limpia la sesión de Spark y detiene la sesión de Livy. |
|
|
|
Limpia la sesión de Spark, y después detiene y elimina la configuración de Livy. |
|
|
|
En una celda de Python, se conecta a un recurso de cómputo de Spark existente. |
|
|
|
Crea una sesión de Spark. |
EMR Serverless Spark |
|
|
Muestra los detalles de Livy Gateway. |
|
|
|
Limpia la sesión de Spark y detiene la sesión de Livy. |
|
|
|
Limpia la sesión de Spark, y después detiene y elimina la configuración de Livy. |
|
|
|
Actualiza el token de Livy para el entorno de desarrollo personal. |
|
|
|
Crea una sesión reutilizable de ADB Spark y se conecta a ella. |
AnalyticDB for Spark |
|
|
Muestra la información de la sesión de Spark. |
|
|
|
Detiene y limpia la sesión de conexión actual de Spark. |
|
|
|
Establece una conexión de Lindorm Ray. |
Lindorm Ray |
|
|
Establece una conexión de Lindorm Ray y configura un entorno de ejecución personalizado, por ejemplo, para instalar dependencias o cargar código. |
Preguntas frecuentes
-
P: ¿Por qué aparece un error de
ModuleNotFoundErroroThere is no file with id ...al hacer referencia a un recurso del espacio de trabajo?R: Compruebe lo siguiente:
Vaya a Data Development > Resource Management y asegúrese de que el recurso de Python de MaxCompute esté guardado. Si este error ocurre en el entorno de producción, confirme que también se haya publicado el recurso.
Haga clic en el botón Restart de la barra de herramientas del editor de Notebook para volver a cargar el recurso.
-
P: Después de actualizar un recurso del espacio de trabajo, ¿por qué Notebook sigue usando la versión anterior?
R: En la configuración de DataStudio, establezca
DataWorks › Notebook › Resource Reference: Download Strategyen autoOverwrite y, a continuación, haga clic en Restart Kernel en la barra de herramientas de Notebook. -
P: ¿Por qué aparece un error de
FileNotFoundErroren el entorno de desarrollo al hacer referencia a un conjunto de datos?R: Asegúrese de que el conjunto de datos esté montado en el entorno de desarrollo personal seleccionado.
-
P: La referencia a un conjunto de datos funciona en el entorno de desarrollo, pero falla en el de producción con el error
Execute mount dataset exception! Please check your dataset config.R: Asegúrese de que el conjunto de datos esté montado en Scheduling Settings del nodo de Notebook y de que se haya otorgado autorización al conjunto de datos de OSS.
En el área de configuración del conjunto de datos, si aparece un mensaje en rojo que indica "The current DataWorks resource group is not authorized" debajo de la lista desplegable, haga clic en el enlace Confirm Authorization ubicado a la derecha para otorgar los permisos.
-
P: ¿Cómo compruebo la versión de mi entorno de desarrollo personal?
R: En su entorno de desarrollo personal, presione CMD+SHIFT+P e introduzca "ABOUT" para consultar la versión actual. Si alguna función requiere la versión 0.5.69 o posterior, utilice la opción One-click Upgrade que aparece en el aviso de actualización.
-
P: ¿Por qué falla la conexión con el motor de Spark?
A: Siga estos pasos para solucionar el problema:
Comprobaciones generales: en la página de detalles del espacio de trabajo, vaya a la lista de recursos de cómputo. Asegúrese de que el recurso (MaxCompute, EMR o ADB) esté vinculado al espacio de trabajo y de que su cuenta tenga los permisos necesarios.
EMR Serverless Spark: compruebe que Livy Gateway se haya creado y funcione correctamente.
AnalyticDB for Spark: concéntrese en resolver los problemas de red. Asegúrese de que
vswitchIdysecurityGroupIdestén configurados correctamente y de que exista conectividad de red entre el entorno de desarrollo personal y la instancia de AnalyticDB for Spark. Revise las reglas del security group para comprobar que permiten la comunicación en los puertos necesarios.