Todos los productos
Search
Centro de documentos

DataWorks:Uso de datasets

Última actualización: Sep 24, 2026

Durante el desarrollo de datos, puede utilizar datasets en nodos como Shell, Python y Notebook para leer y escribir información en Object Storage Service (OSS) o Apsara File Storage NAS (NAS). También puede montar un dataset como almacenamiento cuando cree una instancia de un entorno de desarrollo personal.

Importante

Se recomienda consultar Manage datasets para aprender a crear un dataset.

Descripción general

Los datasets permiten leer y escribir datos almacenados en OSS y NAS directamente desde DataWorks. Puede crear varias versiones de un dataset, dar seguimiento a los cambios con el tiempo y volver a una versión anterior si lo necesita.

Límites

  • Los datasets solo son compatibles con la nueva versión de DataStudio.

  • Resource group: Solo puede acceder a los datasets desde los nodos de desarrollo de datos mediante un Serverless resource group.

  • Objetos compatibles: Los datasets solo se admiten en Shell nodes, Python nodes, Notebooks for basic development y personal development environments. Puede montar un máximo de 5 datasets en cada objeto.

  • Tipo de almacenamiento: Los datasets admiten Object Storage Service (OSS) y Apsara File Storage NAS (NAS) mediante el protocolo NFS.

  • Permisos: Si el destino de montaje del dataset se configura como de solo lectura, no podrá modificar ni eliminar las carpetas o archivos que contiene. Cualquier intento generará un error de permiso.

Uso de datasets en nodos

En esta sección se explica cómo montar un dataset de OSS en un nodo. En este ejemplo, creará un dataset de DataWorks respaldado por OSS, montará la ruta de OSS oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/ en la ruta de montaje del dataset /mnt/data/dataset01 y, después, leerá y escribirá datos en el código del nodo.

Requisitos previos: crear un dataset

  1. Create a bucket o create a file system.

    Este ejemplo utiliza un dataset de OSS. Cree un bucket llamado datasets-oss en la región China (Shanghai) y, a continuación, cree el directorio /dataset01/v1.

  2. Create a dataset.

    En este ejemplo, cree un dataset de OSS llamado datasets-oss y monte la ruta de OSS oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/ en /mnt/data/dataset01.

1. Configurar el dataset para un nodo

En la sección Debug Configuration de un nodo Shell o Python, configure el dataset datasets-oss.

Importante
  • Antes de publicar el nodo, también debe agregar el dataset en la sección Scheduling Settings.

  • Para usar un dataset, debe asignar como mínimo 0.5 unidades de cómputo (CU) al nodo.

Parámetro

Descripción

Datasets

Especifica el dataset al que puede acceder el código del nodo actual.

  • Si usa un dataset basado en OSS, debe otorgar permisos al resource group de DataWorks para acceder al bucket de OSS configurado en el dataset la primera vez que lea datos de él. Una vez completada la autorización, DataWorks inyecta automáticamente las credenciales de acceso en el directorio /etc/oss-secret/ del resource group serverless, y ossfs 2.0 lee el archivo AccessKeyId de ese directorio para obtenerlas. El AccessKey ID y el AccessKey secret del usuario de Resource Access Management (RAM) se inyectan mediante este proceso de autorización y no requieren configuración manual.

  • Si usa un dataset basado en NAS, asegúrese de que la VPC del resource group de DataWorks esté conectada a la VPC del destino de montaje de NAS. Para más detalles sobre la configuración, consulte Network connectivity solutions.

En este ejemplo, seleccione el dataset de OSS datasets-oss creado en DataWorks y seleccione la versión V1.

Mount Path

Ruta que utiliza el código del nodo para acceder al dataset. Este campo se llena automáticamente con la opción Default Mount Path configurada al definir el dataset.

Importante

Si monta varios datasets en el mismo nodo, sus rutas de montaje no deben entrar en conflicto.

Advanced Settings

Este parámetro es opcional. Permite especificar, en formato JSON, las herramientas y parámetros para acceder a datos de OSS o las configuraciones para acceder a sistemas de archivos NAS.

  • Si el dataset que configura está basado en OSS, DataWorks usa ossfs 2.0 de forma predeterminada para acceder a los datos de OSS en la ruta del dataset. Puede usar Advanced Configuration para especificar otras herramientas de acceso a datos de OSS. Para conocer las herramientas disponibles, consulte Advanced configuration examples. A continuación se muestra la configuración predeterminada:

    {"mountOssType":"ossfs", "upload_concurrency":64} 
  • Si agrega un dataset basado en NAS, puede especificar las configuraciones correspondientes (el parámetro nasOptions) para acceder a un sistema de archivos Apsara File Storage NAS (NAS) mediante el protocolo NFS. A continuación se muestra la configuración predeterminada. Para personalizar los valores de los parámetros, consulte Manually mount an NFS file system.

    Importante
    • Solo se pueden montar sistemas de archivos NAS que usen el protocolo NFS.

    • Para NAS, solo se admite un parámetro de configuración avanzada: nasOptions. Para personalizar los parámetros de montaje de NAS, establezca Advanced Configuration en {"nasOptions":"<ParameterName1=ParameterValue>, <ParameterName2=ParameterValue>,..."}.

    {"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

Read Only

De forma predeterminada, puede leer y escribir en el dataset dentro del nodo actual. Si el dataset se establece como de solo lectura para este nodo, no podrá escribir datos en su directorio de montaje desde el código del nodo. Cualquier intento de escritura generará un error de permiso.

2. Usar el dataset en un nodo

Este ejemplo utiliza un nodo Shell. Después de adjuntar un dataset de OSS al nodo Shell, puede gestionar los datos de OSS en el código del nodo como si fueran archivos locales. En el siguiente ejemplo se usa la herramienta predeterminada ossfs 2.0 para escribir el archivo file01.txt en la ruta de montaje /mnt/data/dataset01 del dataset de OSS datasets-oss.

Código de ejemplo:

echo "Hello World" > /mnt/data/dataset01/file01.txt
ls -tl /mnt/data/dataset01

En el panel Debug Configurations, ubicado a la derecha, abra la pestaña Dataset y seleccione el dataset personalizado datasets-oss/V1. Confirme el mensaje de autorización correcta del resource group y asegúrese de que el interruptor Read-only esté desactivado. Después de ejecutar el nodo, el registro mostrará que se creó el archivo file01.txt (12 bytes, permisos: rwxrwxrwx), que el código de salida es 0, que el tiempo transcurrido es de 0.741 s y que el estado es FINISH.

Nota

Si durante la ejecución recibe el mensaje de error Job Submit Failed! submit job failed directly! Caused by: execute task failed, exception: [103:ILLEGAL_TASK]:Task with dataset need 0.5cu at least!, significa que la tarea tiene CU insuficientes. Aumente la asignación de CU del resource group a 0.5 como mínimo.

3. Comprobar los datos en OSS

Una vez que se ejecuta el código de 2. Use the dataset in a node, el archivo se escribe automáticamente en la ruta de almacenamiento de OSS que corresponde a la ruta de montaje del dataset. Puede consultar el archivo en dicha ruta de almacenamiento de OSS. En este ejemplo, la ruta de montaje /mnt/data/dataset01 del dataset de OSS datasets-oss se asigna a oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/. La siguiente figura muestra un ejemplo de los datos escritos en la ruta de OSS.

En esta ruta encontrará el archivo escrito file01.txt (0.012 KB, almacenamiento estándar).

Uso de datasets en un entorno de desarrollo personal

Una vez definido un dataset, puede montarlo en una instancia de entorno de desarrollo personal cuando la cree o modifique. Después, podrá acceder a los datos del dataset directamente desde la terminal o un Notebook dentro de su directorio personal.

Requisitos previos: crear un dataset

  1. Create a bucket o create a file system.

  2. Create a dataset.

    Este ejemplo utiliza un dataset basado en NAS. Cree un dataset de NAS llamado datasets-nas en la región China (Shanghai) y monte la ruta de NAS nas://****.cn-shanghai.nas.aliyuncs.com/mnt/dataset02/v1/ en /mnt/data/dataset02.

1. Configurar un dataset para el entorno personal

Cree una instancia de un personal development environment y seleccione el dataset de NAS existente datasets-nas.

En la página de configuración, seleccione datasets-nas en la lista desplegable Dataset y especifique su ruta de montaje correspondiente.

Parámetro

Descripción

Datasets

Especifica el dataset al que puede acceder el código de la instancia. Asegúrese de que la VPC seleccionada para la instancia del entorno de desarrollo personal pueda conectarse al destino de montaje de NAS.

En este ejemplo, seleccione el dataset de NAS datasets-nas creado en DataWorks y seleccione la versión V1.

Mount Path

Ruta que utiliza el código de la instancia para acceder al dataset.

En este ejemplo, monte la ruta del dataset de NAS nas://****.cn-shanghai.nas.aliyuncs.com/mnt/dataset02/v1/ en /mnt/data/dataset02.

Importante

Si monta varios datasets en la misma instancia de un entorno de desarrollo personal, sus rutas de montaje no deben entrar en conflicto.

Advanced Settings

Este parámetro es opcional. Puede usar JSON para especificar las configuraciones (el parámetro nasOptions) necesarias para acceder a un sistema de archivos Apsara File Storage NAS (NAS) que utilice el protocolo NFS. A continuación se muestra la configuración predeterminada. También puede consultar Manually mount an NFS file system para personalizar los valores de los parámetros.

Importante
  • Solo se pueden montar sistemas de archivos NAS que usen el protocolo NFS.

  • Para NAS, solo se admite un parámetro de configuración avanzada: nasOptions. Para personalizar los parámetros de montaje de NAS, establezca Advanced Configuration en {"nasOptions":"<ParameterName1=ParameterValue>,<ParameterName2=ParameterValue>,..."}.

{"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

Read Only

De forma predeterminada, puede leer y escribir en el dataset dentro de la instancia. Si el dataset se establece como de solo lectura para la instancia, no podrá escribir datos en su directorio de montaje desde el código de la instancia. Cualquier intento de escritura generará un error de permiso.

2. Usar el dataset en un Notebook

  1. En la parte superior de la página de DataStudio, cambie a personal development environment instance y, a continuación, cree un Notebook for basic development.

  2. En el Notebook, agregue el siguiente contenido.

    1. Escriba datos en la ruta especificada del dataset.

      import os
      # Define the destination path and file name
      file_path = "/mnt/data/dataset02/file02.txt"
      # Make sure that the directory exists. If the directory does not exist, create it.
      os.makedirs(os.path.dirname(file_path),exist_ok=True)
      # Write the content
      content = "Hello World!"
      try:
          with open(file_path, "w", encoding="utf-8") as file:
              file.write(content)
          print(f"The file is successfully written to {file_path}")
      except Exception as e:
          print(f"Failed to write the file: {str(e)}")
    2. Lea datos de la ruta especificada del dataset.

      file_path = "/mnt/data/dataset02/file02.txt"
      with open(file_path, "r") as file:
          content = file.read()
      content
  3. Ejecute los dos fragmentos de código de Python por separado.

    Nota

    Antes de ejecutar el código, ensure you have selected the correct Python kernel. Este ejemplo utiliza Python 3.11.9.

    Primer fragmento de código: escriba datos en la ruta especificada del dataset.

    import os
    # Define the destination path and file name
    file_path = "/mnt/data/dataset02/file02.txt"
    # Make sure that the directory exists. If the directory does not exist, create it.
    os.makedirs(os.path.dirname(file_path),exist_ok=True)
    # Write the content
    content = "Hello World!"
    try:
        with open(file_path, "w", encoding="utf-8") as file:
            file.write(content)
            print(f"The file is successfully written to {file_path}")
    except Exception as e:
        print(f"Failed to write the file: {str(e)}")

    Si el resultado es The file is successfully written to /mnt/data/dataset02/file02.txt, la operación de escritura se completó correctamente. Segundo fragmento de código: lea datos de la ruta especificada del dataset.

    file_path = "/mnt/data/dataset02/file02.txt"
    with open(file_path, "r") as file:
        content = file.read()
        content

    Si el resultado es 'Hello World!', la operación de lectura se completó correctamente.

3. Configurar la programación

En el lado derecho del nodo Notebook, haga clic en Scheduling Settings y agregue las opciones del dataset. Utilice los mismos parámetros que configuró para la instancia del entorno de desarrollo personal.

Ejemplos de configuración avanzada

Cuando configure un dataset, puede establecer configuraciones avanzadas para personalizar los parámetros correspondientes en formato JSON:

  • Cuando configure a dataset for a node, puede establecer configuraciones avanzadas para especificar las herramientas y parámetros necesarios para leer y escribir datos de OSS, o bien definir las configuraciones para leer y escribir datos en sistemas de archivos NAS.

  • Cuando configure a dataset for a personal development environment, puede establecer parámetros avanzados para especificar las configuraciones de lectura y escritura de datos en sistemas de archivos NAS.

Montaje de OSS con ossfs 2.0

ossfs 2.0 es un cliente que monta OSS para ofrecer acceso de alto rendimiento. Proporciona un alto rendimiento de lectura y escritura secuencial y aprovecha al máximo el ancho de banda de OSS. Es adecuado para aplicaciones intensivas en cómputo que requieren un alto rendimiento de E/S secuencial, como el entrenamiento de IA y el procesamiento de big data. Estos escenarios de carga de trabajo implican principalmente lecturas secuenciales y aleatorias, así como escrituras secuenciales (solo anexión), y no requieren semántica POSIX completa.

En la sección DatasetsAdvanced Settings, puede establecer parámetros avanzados. Separe varias opciones con una coma (,). Para obtener instrucciones sobre cómo usar parámetros avanzados y conocer más opciones de configuración, consulte ossfs 2.0 mount options. A continuación se muestran varios escenarios comunes:

  • Origen de datos inmutable: Si ninguno de los archivos que lee se modifica durante una tarea, puede establecer un tiempo de caché prolongado para reducir la cantidad de solicitudes de metadatos. Un escenario típico consiste en leer un lote de archivos existentes y generar un nuevo lote después del procesamiento.

    {"mountOssType":"ossfs", "attr_timeout": "7200"}
  • Operaciones rápidas de lectura y escritura: Use un tiempo de caché de metadatos corto para equilibrar la eficiencia de la caché y la actualización de los datos.

    {"mountOssType":"ossfs", "attr_timeout": "3", "negative_timeout":"0"}
  • Vista coherente para tareas distribuidas: De forma predeterminada, ossfs actualiza los datos de los archivos según la caché de metadatos. Use la siguiente configuración para lograr una vista sincronizada en varios nodos.

    { "mountOssType":"ossfs","negative_timeout": "0", "close_to_open":"false"}
  • Error OOM causado por abrir demasiados archivos: Una alta concurrencia de tareas con una gran cantidad de archivos abiertos simultáneamente puede provocar problemas de falta de memoria (OOM). Use la siguiente configuración para aliviar la presión sobre la memoria.

    {"mountOssType":"ossfs","readdirplus": "false", "inode_cache_eviction_threshold":"300000"}

Montaje de OSS con ossfs 1.0

ossfs 1.0 monta un bucket de OSS como un sistema de archivos local en un sistema Linux. En comparación con ossfs 2.0, ossfs 1.0 ofrece una compatibilidad más completa con las operaciones de archivos. Si encuentra incompatibilidades en las operaciones de archivos con ossfs 2.0, intente usar ossfs 1.0.

Para más información sobre los parámetros necesarios para montar con ossfs 1.0, consulte ossfs 1.0 mount options.

Montaje de OSS con JindoFuse

Puede usar el componente JindoFuse para montar un dataset de OSS en una ruta específica dentro de un contenedor. Esta herramienta es adecuada para los siguientes escenarios:

  • Desea leer datos de OSS como si fueran un dataset local, o bien el dataset es lo suficientemente pequeño para aprovechar la aceleración de la caché local de JindoFuse.

  • Necesita escribir datos en OSS.

En la sección DatasetsAdvanced Settings, puede establecer parámetros avanzados. Separe varias opciones con una coma (,). El siguiente código es solo un ejemplo. Para consultar las descripciones de los parámetros y más opciones de configuración, consulte JindoFuse User Guide y Use JindoFuse to mount and access data.

Nota

Actualmente, DataWorks solo admite parámetros con el formato key=value.

{ 
  "mountOssType":"jindofuse",
  "fs.oss.download.thread.concurrency": "2 × number of CPU cores",
  "fs.oss.upload.thread.concurrency": "2 × number of CPU cores",
  "attr_timeout": 3,
  "entry_timeout": 0,
  "negative_timeout": 0
}

Uso de un dataset de NAS

Para los datasets basados en NAS, puede especificar configuraciones (mediante el parámetro nasOptions) para acceder a un sistema de archivos Apsara File Storage NAS (NAS) basado en NFS. A continuación se muestra la configuración predeterminada. Para personalizar los valores de los parámetros, consulte Manually mount an NFS file system.

Importante
  • Solo se pueden montar sistemas de archivos NAS que usen el protocolo NFS.

  • Para NAS, solo se admite un parámetro de configuración avanzada: nasOptions. Para personalizar los parámetros de montaje de NAS, establezca Advanced Configuration en {"nasOptions":"<ParameterName1=ParameterValue>, <ParameterName2=ParameterValue>,..."}.

{"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

Preguntas frecuentes

¿Qué debo hacer si aparece el error "FileNotFoundError: /etc/oss-secret/AccessKeyId" al leer datos de un dataset de OSS?

Este error suele indicar que el resource group de DataWorks no pudo obtener las credenciales necesarias para acceder a OSS. Para solucionar el problema, siga estos pasos:

  1. Compruebe que haya completado la autorización de OSS en el panel de configuración del dataset. El aviso de esta autorización aparece la primera vez que usa el dataset.

  2. Compruebe que el resource group serverless se encuentre en un estado normal y no esté suspendido.

  3. Si tanto la autorización como el estado del resource group son normales pero el error persiste, póngase en contacto con el soporte técnico para depurar el proceso de inyección de credenciales de ossfs.

Documentos relacionados