Compartir a través de


Importación desde Azure Blob Storage

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

En este tema se describe cómo usar el módulo Importar datos en Machine Learning Studio (clásico) para leer datos de Azure Blob Storage, de modo que pueda usar los datos en un experimento de aprendizaje automático.

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Azure Blob Service sirve para almacenar grandes cantidades de datos, incluidos datos binarios. Puede acceder a los blobs de Azure desde cualquier lugar, mediante HTTP o HTTPS. La autenticación puede ser necesaria según el tipo de almacenamiento de blobs.

  • Cualquier persona puede acceder a los blobs públicos, así como usuarios que tengan una dirección URL de SAS.
  • Los blobs privados requieren un inicio de sesión y credenciales.

Importing from Blob Storage requiere que los datos se almacenan en blobs que usen el formato blob en bloques. Los archivos almacenados en el blob deben usar formatos separados por comas (CSV) o separados por tabulaciones (TSV). Al leer el archivo, los registros y los encabezados de atributo aplicables se cargan como filas en la memoria como un conjunto de datos.

Nota:

El módulo de importación de datos no admite la conexión Azure Blob Storage cuenta si está habilitada la opción "Se requiere transferencia segura".

Para ver otras restricciones sobre los tipos de almacenamiento de blobs que se admiten para su Machine Learning, consulte la sección Notas técnicas.

Sugerencia

¿Necesita importar datos en un formato que no se admite? Puede usar Python o R. Vea este ejemplo en el Azure AI Gallery: Carga de un archivo que no es de texto desde Azure Blob Storage

Importación de datos desde blobs de Azure

Se recomienda encarecidamente generar el perfil de los datos antes de importar, para asegurarse de que el esquema sea el esperado. El proceso de importación examina algunas filas de encabezado para determinar el esquema, pero las filas posteriores pueden contener columnas adicionales o datos que provoquen errores.

Usar el Asistente para importación de datos

El módulo incluye un nuevo asistente para ayudarle a elegir una opción de almacenamiento, seleccionar entre las suscripciones y cuentas existentes y configurar rápidamente todas las opciones.

  1. Agregue el módulo Importación de datos al experimento. Puede encontrar el módulo en Studio (clásico), en la categoría Entrada y salida de datos.

  2. Haga clic en Iniciar el Asistente para importar datos y siga las indicaciones.

  3. Una vez completada la configuración, para copiar realmente los datos en el experimento, haga clic con el botón derecho en el módulo y seleccione Ejecutar seleccionado.

Si necesita editar una conexión de datos existente, el asistente carga todos los detalles de configuración anteriores para que no tenga que volver a empezar desde cero.

Establecer manualmente las propiedades en el módulo Importar datos

En los pasos siguientes se describe cómo configurar manualmente el origen de la importación.

  1. Agregue el módulo Importación de datos al experimento. Puede encontrar este módulo en Studio (clásico), en la categoría Entrada y salida de datos.

  2. En Origen de datos, seleccione Azure Blob Storage.

  3. Para Tipo de autenticación, elija Public (SAS URL) (Público [dirección URL de SAS]) si sabe que la información se ha proporcionado como origen de datos público. Una dirección URL de SAS es una dirección URL por tiempo limitado para el acceso público, que puede generar mediante una utilidad de almacenamiento de Azure.

    De lo contrario, elija Cuenta.

  4. Si los datos están en un blob público al que se puede acceder mediante una dirección URL de SAS, no necesita credenciales adicionales, ya que la cadena de dirección URL contiene toda la información necesaria para la descarga y autenticación.

    En el campo URI, escriba o pegue el URI completo que define la cuenta y el blob público.

    Nota:

    En una página accesible a través de la dirección URL de SAS, los datos solo se pueden almacenar con estos formatos: CSV, TSV y ARFF.

  5. Si los datos están en una cuenta privada, debe proporcionar credenciales, incluido el nombre de cuenta y la clave.

    • Para Nombre de cuenta, escriba o pegue el nombre de la cuenta que contiene el blob al que quiere acceder.

      Por ejemplo, si la dirección URL completa de la cuenta de almacenamiento es https://myshared.blob.core.windows.net, escribiría myshared.

    • Para Clave de cuenta, pegue la clave de acceso de almacenamiento asociada con la cuenta.

      Si no conoce la clave de acceso, consulte la sección "Administración de las cuentas de Almacenamiento de Azure" en este artículo: Acerca de Azure Storage Accounts.

  6. Para Path to container, directory, or blob (Ruta de acceso a contenedor, directorio lo blob), escriba el nombre del blob específico que quiere recuperar.

    Por ejemplo, si se ha cargado un archivo denominado data01.csv al contenedor trainingdata en una cuenta denominada mymldata, la dirección URL completa del archivo sería: https://mymldata.blob.core.windows.net/trainingdata/data01.txt.

    Por lo tanto, en el campo Ruta de acceso al contenedor, directorio o blob, escribiría: trainingdata/data01.csv

    Para importar varios archivos, puede usar los caracteres comodín * (asterisco) o ? (signo de interrogación).

    Por ejemplo, suponiendo que el contenedor trainingdata incluya varios archivos de un formato compatible, puede usar la siguiente especificación para leer todos los archivos que empiecen con datay concatenarlos en un único conjunto de datos:

    trainingdata/data*.csv

    No puede usar caracteres comodín en nombres de contenedor. Si tiene que importar archivos de varios contenedores, use una instancia independiente del módulo Importación de datos para cada contenedor y, luego, combine los conjuntos de datos con el módulo Add Rows (Agregar filas).

    Nota:

    Si ha seleccionado la opción Use cached results (Usar resultados en caché), los cambios que haga en los archivos en el contenedor no desencadenan una actualización de los datos en el experimento.

  7. En Blob file format (Formato de archivo de blob), seleccione una opción que indique el formato de los datos almacenados en el blob para que Machine Learning pueda procesar los datos correctamente. Se admiten los siguientes formatos:

    • CSV: los valores separados por comas (CSV) son el formato de almacenamiento predeterminado para exportar e importar archivos en Machine Learning. Si los datos ya contienen una fila de encabezado, no olvide seleccionar la opción, El archivo tiene una fila de encabezado o, de lo contrario, el encabezado se tratará como una fila de datos.

      Para obtener más información sobre el formato CSV usado en Machine Learning, vea [Convertir a CSV](conversión a csv.md

    • TSV: los valores separados por tabulaciones (TSV) son un formato que usan muchas herramientas de aprendizaje automático. Si los datos ya contienen una fila de encabezado, no olvide seleccionar la opción, El archivo tiene una fila de encabezado o, de lo contrario, el encabezado se tratará como una fila de datos.

      Para obtener más información sobre el formato TSV usado en Machine Learning, vea Convertir a TSV.

    • ARFF: este formato admite la importación de archivos en el formato usado por el conjunto de herramientas de Weka. Para obtener más información, vea Convertir a ARFF.

    • CSV con una codificación especificada: use esta opción para los archivos CSV que se hayan preparado con un separador de campo diferente, o si el origen podría haber usado una codificación de caracteres diferente a UTF-8. Este formato no se admite para los archivos almacenados en una dirección URL de SAS.

    • Excel: use esta opción para leer datos de libros Excel almacenados en Azure Blob Storage. El Excel no se admite para los archivos almacenados en una dirección URL de SAS.

  8. En el caso de los archivos CSV con codificaciones especiales, establezca estas opciones adicionales para controlar la importación adecuada de los caracteres:

    • Formato de delimitador de coma: elija entre una lista de caracteres comunes que se usan como separadores de campo, , incluidos el carácter de tabulación de coma y el punto y coma ;.

    • Formato de codificación: elija la codificación de caracteres utilizada por el archivo que desea leer. Consulte la sección Notas técnicas para obtener una lista de las codificaciones admitidas.

    • El archivo tiene una fila de encabezado: seleccione esta opción si los datos ya contienen una fila de encabezado. De lo contrario, el encabezado se importa como una fila de datos.

  9. Para Excel, después de especificar la cuenta y el contenedor donde se almacena el archivo Excel, debe indicar el formato Excel y el nombre de intervalo o tabla, con estas opciones:

    • Excel formato de datos: indica si los datos están en un intervalo Excel hoja de cálculo o en una tabla Excel datos.

    • Excel hoja o tabla incrustada: si selecciona la opción Excel hoja, especifique el nombre de la hoja de cálculo (el nombre de la pestaña) o una tabla incrustada en el libro. Se leen todos los datos de la hoja; no se puede especificar un intervalo de celdas. Si selecciona la opción Excel tabla, debe obtener el nombre de la tabla y no el nombre de la hoja, incluso si solo hay una tabla en una hoja. Para ver el nombre de la tabla, haga clic dentro de la tabla y, a continuación, vea la propiedad Nombre de tabla en la pestaña Herramientas de tabla .

  10. Ejecute el experimento.

Ejemplos

Para obtener información sobre cómo usar datos de Azure Blob Storage en experimentos de aprendizaje automático, consulte la Galería de Azure:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Preguntas frecuentes

¿Hay alguna manera de automatizar la importación de datos?

Hay varias maneras de obtener nuevos datos y usarlos para actualizar periódicamente un experimento. Mucho depende de dónde se originan los datos de origen y de las herramientas que prefiera para el movimiento de datos. consulte estos artículos para obtener algunas ideas.

Por lo general, la automatización de la ejecución del experimento requiere la creación de un servicio web, que luego se puede desencadenar mediante un programador de tareas, PowerShell u otro código personalizado.

¿Por qué se ha producido un error al intentar leer datos de entrada de un blob existente?

Hay varios problemas posibles:

  • El blob usa un formato no admitido
  • La propia cuenta se creó con una opción que aún no es compatible con Machine Learning.

Formato no admitido: al leer desde Azure Blob Storage, actualmente Machine Learning requiere que el blob use el formato de blob en bloques, lo que le permite cargar blobs grandes de forma eficaz. Por ejemplo, si carga un archivo CSV en Blob Storage, el archivo se almacenaría como un blob en bloques. Sin embargo, al crear un archivo de blob mediante programación, es posible que esté generando un tipo diferente de blob, como el tipo AppendBlob, que no se admite.

Como solución alternativa, se recomienda usar el tipo de blob en bloques .

Importante

Una vez creado el blob, no se puede cambiar el tipo.

Para más información, consulte Descripción de blobs en bloques, blobs en anexos y blobs en páginas.

Tipo de cuenta no compatible: los módulos de importación y exportación solo pueden leer y escribir datos de cuentas de Almacenamiento de Azure creadas con el modelo de implementación clásica. En otras palabras, el nuevo tipo Azure Blob Storage cuenta que ofrece niveles de acceso de almacenamiento de acceso es decir, no se admite aún. Por lo general, las cuentas de Almacenamiento de Azure que haya creado antes de que esta opción de servicio esté disponible no deberían verse afectadas.

Si necesita crear una cuenta para usarla con Machine Learning, seleccione Clásico para el modelo de implementación o useResource Managery, en Tipo de cuenta, seleccione Uso general en lugar de Blob Storage.

¿Cómo puedo evitar volver a cargar los mismos datos innecesariamente?

Si los datos de origen cambian, puede actualizar el conjunto de datos y agregar nuevos datos mediante la nueva ejecución de Importar datos. Sin embargo, si no desea volver a leer el origen cada vez que ejecute el experimento, seleccione TRUE para la opción Use cached results (Utilizar resultados almacenados en caché). Cuando esta opción se establece en TRUE, el módulo comprobará si el experimento se ha ejecutado previamente con las mismas opciones de origen y de entrada, y si se encuentra una ejecución anterior, se usan los datos de la memoria caché, en lugar de volver a cargar los datos del origen.

¿Puedo filtrar los datos mientras se leen desde el origen?

El módulo Importar datos no admite el filtrado a medida que se leen los datos.

Después de cargar los datos en Machine Learning Studio (clásico), puede modificar los datos con estas herramientas:

  • Use un script de R personalizado para filtrar o transformar datos.

  • Use el módulo Split Data (Dividir datos) con una expresión relativa o una expresión regular para aislar los datos que desee y, a continuación, guárdelos como un conjunto de datos.

Si descubre que ha cargado más datos de los que necesita, puede sobrescribir el conjunto de datos leyendo un nuevo conjunto de datos y especificando que se guarde con el mismo nombre que los datos más antiguos y más grandes.

¿Por qué el proceso de importación agrega una fila adicional al final del conjunto de datos cuando encuentra una línea nueva al final?

Si el módulo Importar datos encuentra una fila de datos seguida de una línea vacía o un carácter de línea nueva al final, se agrega una fila adicional que contiene valores que faltan al final de la tabla.

La razón para interpretar una nueva línea final como una nueva fila es que Importar datos no puede determinar la diferencia entre una línea vacía real y una línea vacía creada por el usuario presionando ENTRAR al final de un archivo.

Dado que algunos algoritmos de aprendizaje automático admiten la falta de datos y, por tanto, tratarían esta línea como un caso (lo que a su vez podría afectar a los resultados), debe usar Limpiar datos que faltan para comprobar si faltan valores y quitarlos según sea necesario.

Antes de comprobar si hay filas vacías, es posible que también desee separar la fila vacía final de otras filas con valores que faltan parcialmente, lo que podría representar valores reales que faltan en los datos de origen. Para ello, puede dividir el conjunto de datos mediante Dividir datos. Seleccione la opción Seleccionar N filas principal para leer todas las filas menos la fila final.

¿Qué ocurre si importa datos cargados desde diferentes regiones geográficas?

Si la cuenta de almacenamiento de blobs o tablas se encuentra en una región diferente del nodo de proceso que se usa para el experimento de aprendizaje automático, el acceso a los datos puede ser más lento. Además, se le cobrará por la entrada y salida de datos en la suscripción.

¿Por qué algunos caracteres del archivo de origen no se muestran correctamente en el encabezado?

Machine Learning generalmente admite la codificación UTF-8. Si el archivo de origen usa otro tipo de codificación, es posible que los caracteres no se importen correctamente.

Si tiene problemas al cargar los datos correctamente, pruebe a usar la opción CSV con codificación y especifique los parámetros para delimitadores personalizados, la página de códigos, etcétera.

¿Hay algún carácter o caracteres prohibidos que se cambien durante la importación?

Si los datos de atributo contienen comillas o secuencias de caracteres de escape, se controlarán mediante las reglas para dichos caracteres de Microsoft Excel. Todos los demás caracteres se controlan mediante las especificaciones siguientes como guía: RFC 4180.

El límite de tamaño para cargar conjuntos de datos locales directamente en Machine Learning es de 1,98 GB. Con archivos muy grandes, agregar el conjunto de datos a la cuenta del experimento puede tardar mucho tiempo en completarse.

  • Calcule 10 minutos o más por GB de datos.
  • Para optimizar el rendimiento, use una cuenta de almacenamiento en la misma región que azure ML servicio.

Para cargar archivos más grandes, hasta 10 GB, hay varios enfoques:

  • Use un archivo comprimido. Puede cargar conjuntos de datos en Azure ML Studio (clásico) en formato comprimido y, a continuación, usar el módulo Desempaquetar conjuntos de datos comprimidos para desempaquetar y guardar el conjunto de datos. Los conjuntos de datos comprimidos también se pueden desempaquetar mediante el módulo Ejecutar script R , pero el rendimiento puede ser limitado.

  • Use una utilidad rápida de Azure como AzCopy. Escenúe los datos Microsoft Azure blob Storage mediante una utilidad como AzCopy. A continuación, use el módulo Importar datos para importar datos de Blob Storage a Studio (clásico).

    Por ejemplo, el código siguiente muestra la sintaxis de AzCopy para escribir en Blob Storage.

    cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
    .\AzCopy.exe /Source:C:\LocalFolder /Dest:https://mystorage.blob.core.windows.net/mycontainer /DestKey:MyStorageAccountKey /Pattern:myfile.csv
    

He importado un archivo CSV con una codificación especificada, pero el texto no se muestra correctamente cuando se usa la opción para visualizar. ¿Por qué?

En el caso de los conjuntos de datos cargados, Machine Learning generalmente solo admite UTF-8. Sin embargo, el módulo Importar datos admite formatos de codificación adicionales. Por lo tanto, después de importar un archivo con uno de estos formatos, es posible que los caracteres no se muestren correctamente. La solución es convertir la codificación a UTF-8 mediante uno de estos métodos:

  • Guarde los datos importados como un conjunto de datos. (El uso de un conjunto de datos guardado en lugar de los datos CSV también podría mejorar el rendimiento).

  • Si usa el conjunto de datos en el módulo Ejecutar script R , puede aplicar la codificación correcta mediante un script como el siguiente:

    dataset <- maml.mapInputPort(1)
    Encoding(dataset$city) <- "UTF-8"
    maml.mapOutputPort("dataset")
    

    A continuación, puede usar Visualizar en la salida del módulo Ejecutar script R y comprobar que los caracteres se muestran correctamente.

¿Qué opciones tengo para importar archivos de texto? El archivo CSV no es adecuado para mis datos.

El procesamiento y la limpieza de texto no estructurado para que quepa perfectamente en las columnas siempre es un desafío. Sin embargo, si necesita importar columnas de datos de texto, el formato TSV suele presentar menos dificultades, aunque todavía necesita comprobar el exceso de caracteres de tabulación de antemano.

Se recomienda revisar la plantilla clasificación de texto, en la Azure AI Gallery, para ver un ejemplo de ingesta y procesamiento de texto en Machine Learning Studio (clásico).

Codificación personalizada para archivos CSV

Las versiones anteriores del módulo Importar datos no admiten algunos tipos de archivos CSV válidos. Por ejemplo, los datos exportados desde Excel en ocasiones contenían caracteres que impedían analizar correctamente el archivo.

Para admitir una gama más amplia de delimitadores y formatos de caracteres, Importar datos ahora admite la elección del delimitador y el formato de codificación. Si usa la opción CSV con codificación, el resultado es un análisis más sólido y eficaz del archivo CSV.

Puede utilizar las codificaciones de caracteres siguientes:

Tipo Encoding
Unicode Unicode (UTF-8)

Unicode

Unicode (UTF-32)

Unicode (UTF-7)
CJYK Chino tradicional (Big5)

Chino simplificado (GB2312)

Chino simplificado (Mac)

Chino simplificado (GB2312-80)

Chino simplificado (ISO-2022)

Chino simplificado (GB18030)

Japonés (JIS)

Coreano (ISO)

Coreano (Mac)
Otros Europeo occidental (Windows)

Europeo occidental (ISO)

Hebreo (ISO-Visual)

ASCII (EE. UU.)

Sugerencia

Una vez completada la importación de CSV, se recomienda guardar los archivos importados como un conjunto de datos para asegurarse de que los datos importados usan la codificación UTF-8 en el experimento.

Inferencia de tipos de datos en formatos CSV y TSV

Cuando el módulo Importar datos carga datos de un archivo CSV o TSV en Azure Blob Storage, un adivinador de tipos busca datos numéricos o categóricos en el archivo de origen y representa el tipo detectado en los metadatos del nuevo conjunto de datos.

Sin embargo, puede invalidar los resultados del adivinador de tipos editando los atributos de columna en el módulo Editar metadatos una vez cargados los datos.

Parámetros del módulo

Opciones generales

Nombre Intervalo Tipo Valor predeterminado Descripción
Origen de datos Lista Origen de datos o receptor Azure Blob Storage El origen de datos puede ser HTTP, FTP, HTTPS anónimo o FTPS, un archivo en Azure BLOB Storage, una tabla de Azure, un Azure SQL Database, una base de datos SQL Server local, una tabla de Hive o un punto de conexión de OData.
Tipo de autenticación PublicOrSas/Account String Cuenta Especifique si los datos están en un contenedor público accesible a través de la dirección URL de SAS o si están en una cuenta de almacenamiento privada que requiere autenticación para el acceso.
Uso de resultados almacenados en caché TRUE/FALSE Boolean FALSE Seleccione esta opción para evitar la carga de datos entre ejecuciones.

Pública o SAS: opciones de almacenamiento público

Nombre Intervalo Tipo Valor predeterminado Descripción
Identificador URI cualquiera String ninguno Punto de conexión de rest de HDFS
Formato de archivo ARFF, CSV o TSV String CSV Selección de uno de los formatos admitidos
Uri tiene fila de encabezado Boolean TRUE/FALSE true True si el archivo contiene una fila de encabezado; si es False, la primera fila de datos se usa como encabezados de columna

Cuenta: opciones de almacenamiento privado

Nombre Intervalo Tipo Valor predeterminado Descripción
Nombre de la cuenta cualquiera String ninguno Escriba el nombre de la cuenta de almacenamiento.
Clave de cuenta cualquiera SecureString ninguno Pegar la clave de cuenta
Ruta de acceso al contenedor, directorio o blob cualquiera String N/D Escriba el nombre del contenedor o directorio.
Blob file format (Formato de archivo de blob) ARFF, CSV o TSV String CSV Selección de uno de los formatos admitidos
El archivo tiene la fila de encabezado cualquiera String True Nombre de la cuenta de almacenamiento de Azure

Salidas

Nombre Tipo Descripción
Conjunto de datos de resultados Tabla de datos Conjunto de datos con datos importados

Excepciones

Excepción Descripción
Error 0027 Se produce una excepción cuando dos objetos tienen que ser del mismo tamaño pero no lo son.
Error 0003 Se produce una excepción si una o varias de las entradas son nulas o están vacías.
Error 0029 Se produce una excepción cuando se pasa un URI no válido.
Error 0030 Se produce una excepción cuando no es posible descargar un archivo.
Error 0002 Se produce una excepción si uno o más parámetros no se pudieron analizar o convertir del tipo especificado al tipo requerido por el método de destino.
Error 0009 Se produce una excepción si se especifica incorrectamente el nombre de la cuenta de almacenamiento de Azure o el nombre del contenedor.
Error 0048 Se produce una excepción cuando no es posible abrir un archivo.
Error 0046 Se produce una excepción si no es posible crear el directorio en la ruta de acceso especificada.
Error 0049 Se produce una excepción cuando no es posible analizar un archivo.

Para obtener una lista de errores específicos de los módulos de Studio (clásico), consulte Machine Learning códigos de error.

Para obtener una lista de excepciones de API, consulte Machine Learning códigos de error de la API REST.

Consulte también

Import Data
Export Data
Importar desde una dirección web mediante HTTP
Importar desde una consulta de Hive
Importación desde Azure SQL Database
Importar desde una tabla de Azure
Importar desde los proveedores de fuentes de distribución de datos
Importar desde la base de datos de SQL Server local