Compartir a través de


Importar desde Azure Cosmos DB

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 artículo se describe cómo usar el módulo Importar datos en Machine Learning Studio (clásico) para importar datos de Azure Cosmos DB para usarlos 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 Cosmos DB admite el almacenamiento de base de datos NoSQL mediante un modelo de datos flexible. Las ventajas de usar las API de SQL en este almacén de datos para el aprendizaje automático incluyen un rendimiento rápido y predecible, escalado automático, distribución global y funcionalidades de consulta enriquecibles.

Junto con Azure SQL Database, esta opción le permite filtrar dinámicamente los conjuntos de datos entrantes.

Aprenda cómo funciona: Obtenga información sobre Azure Cosmos DB.

  • Para empezar a trabajar con el aprendizaje automático mediante datos de Azure Cosmos DB, debe tener acceso a una cuenta de Azure Cosmos DB existente que contenga una colección de documentos relacionados.

Nota:

La interfaz de usuario de Machine Learning Studio (clásico) todavía usa el nombre DocumentDB en muchos lugares. Por lo tanto, puede seguir teniendo referencias a DocumentDB, aunque la API se haya incorporado a Azure Cosmos DB.

Uso de la importación de datos con Azure Cosmos DB

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.

Importación de datos mediante el asistente

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 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.

Sugerencia

Si necesita editar una conexión de datos existente, el asistente carga todos los detalles de configuración anteriores. No tiene que empezar de nuevo 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 la categoría Entrada y salida de datos.

  2. En Origen de datos, seleccione Azure DocumentDB.

    Es posible que tenga que proporcionar información de conexión para la base de datos de documentos.

    Sugerencia

    Busque el nombre de la opción en Machine Learning Studio (clásico) para cambiar en una fecha posterior. La funcionalidad de importación no se vio afectada por el cambio de nombre.

  3. En Dirección URL del punto de conexión, en Azure Portal, haga clic en Claves y copie el contenido del campo URI en la parte superior de la página.

  4. En Id. de base de datos, pegue el nombre de la base de datos que se usará.

    Para obtener el nombre de la base de datos en Azure Portal, haga clic en Explorador de documentos. Puede ver la lista de bases de datos y colecciones en este panel.

  5. En Clave de DocumentDB, pegue una clave de acceso para la cuenta.

    Para buscar las claves, haga clic en Clavesy, a continuación, copie el contenido de los campos PRIMARY KEY o SECONDARY KEY .

  6. En Id. de colección, escriba el nombre de la colección como se muestra en la base de datos de CosmosDB especificada.

  7. Defina una SQL consulta y una condición de filtro en los datos mediante las opciones SQL consulta y SQL parámetros de consulta.

    Para SQL consulta, escriba una consulta que defina los datos que se recuperarán de la colección. Se recomienda usar el Explorador de consultas para crear y probar las consultas de CosmosDB de antemano.

    Para SQL parámetros de consulta, proporcione una expresión en formato JSON que se pueda usar para filtrar dinámicamente los datos devueltos. Normalmente se proporciona el valor real del parámetro al ejecutar el experimento como parte de un servicio web.

    Si usa un parámetro, debe definir el nombre de la variable de filtro como parte de la cláusula WHERE especificada en el cuadro de texto SQL consulta.

    Si no especifica una expresión de filtro, de forma predeterminada, el valor se establece en "{}" y se devuelven todos los registros.

    Consulte la sección Notas técnicas para obtener ejemplos, problemas conocidos y consejos adicionales sobre SQL consultas en CosmosDB.

  8. Seleccione la opción Usar resultados almacenados en caché si desea reutilizar los resultados existentes.

    Si anula la selección de esta opción, los datos se leen del origen cada vez que se ejecuta el experimento, independientemente de si los datos son iguales o no.

    Machine Learning puede comparar los datos almacenados en caché con los datos de la cuenta de CosmosDB. Por lo tanto, no hay ninguna manera de realizar actualizaciones incrementales desde Machine Learning.

    Si desea volver a importar solo cuando cambien los datos, debe definir esa lógica en otra aplicación, como Azure Data Factory. Para más información, consulte Movimiento de datos hacia y desde Azure Cosmos DB mediante Azure Data Factory.

  9. Ejecute el experimento o seleccione solo el módulo Importar datos y haga clic en Ejecutar seleccionado.

Results

Después de ejecutar el módulo o experimento, puede hacer clic con el botón derecho en la salida del módulo para visualizar los resultados en formato tabular.

Para capturar una instantánea de estos datos en el área de trabajo de Machine Learning como un conjunto de datos, puede hacer clic con el botón derecho en la salida del módulo y seleccionar Guardar como conjunto de datos. Sin embargo, al hacerlo, solo se capturan los datos disponibles en el momento de la importación. Si se espera que los datos cambien con frecuencia, vuelva a ejecutar Importar datos según sea necesario.

Ejemplos

Para obtener un tutorial detallado sobre cómo usar Azure Cosmos DB como origen de datos para el aprendizaje automático, consulte el Azure AI Gallery.

Notas técnicas

Esta sección contiene opciones de configuración avanzadas y respuestas a las preguntas más frecuentes.

Ejemplos de consultas simples y parametrizadas

Supongamos que solo quiere usar los datos de los volcanes con elevaciones inferiores a 10 000 pies.

Consulta sencilla

Pegue la siguiente consulta en el cuadro de texto SQL consulta:Select * from volcanodb where volcanodb.Elevation < 10000

En este caso, el valor de la expresión de filtro se establece en "{}" y se devuelven todos los registros.

Consulta con parámetros

Para obtener solo los datos de los volcanes relacionados con un país específico, puede especificar el valor de país como un parámetro pasado a la consulta en tiempo de ejecución. Esto requiere estos cambios:

  1. En el SQL de texto consulta, defina una variable Country que se aplicará al campo como parte de la SQL consulta:

    Select * from volcanodb where volcanodb.Country = @param1

  2. En el SQL de texto parámetros de consulta, especifique el nombre del parámetro y su valor en formato JSON, de la siguiente forma:

    {"@param1":"Turkey"}

Recursos

Si no tiene un almacén de documentos existente, consulte estos artículos para empezar a trabajar.

Migración de datos y ayuda de sintaxis de consulta

Para obtener ejemplos de consultas en un almacén de datos JSON, descargue la hoja de referencia de consultas de Azure Cosmos DB.

Si necesita cargar contenido en Azure Cosmos DB, se recomienda la herramienta de migración de Azure Cosmos DB. Valida, carga e indexa los datos. La herramienta admite varios orígenes, incluidos MongoDB, Amazon DynamoDB, HBase, SQL Server bases de datos y archivos CSV.

Uso de consultas sin esquema

Si los datos son coherentes y predecibles, puede usar sintaxis sencilla SQL similar a la de , como SELECT * FROM <document collection>. Esto se denomina consulta sin esquema porque no se han llamado los atributos exactos que se devolverán. Este tipo de consulta devolvería todos los campos y todas las filas de la colección especificada.

Sin embargo, no especificar un esquema puede provocar resultados inesperados o un error en tiempo de ejecución si los documentos tienen esquemas incoherentes. Esto se debe a que el módulo Importar datos intenta deducir el esquema en función de un número predeterminado de filas como se muestra a continuación:

  1. Cuando no se especifica ningún atributo, el módulo examina la primera fila de la base de datos de CosmosDB.
  2. El módulo crea nombres de columna basados en atributos y adivina qué tipos de datos de columna deben basarse en la fila de ejemplo.
  3. Si las filas posteriores contienen atributos nuevos o diferentes, se genera un error en tiempo de ejecución.

Por lo tanto, se recomienda especificar siempre los atributos y valores que se devolverán desde el almacén de datos de CosmosDB. Por ejemplo, en lugar de usar la sintaxis SELECT * , se recomienda que asigne un nombre a todos los atributos recuperados por la consulta, como se muestra a continuación:

SELECT MyTable.Gender, MyTable.Age, MyTable.Name FROM <document collection>

Parámetros del módulo

En la tabla siguiente solo se incluyen los parámetros para el módulo Importar datos que son aplicables a la opción Azure Cosmos DB.

Nombre Intervalo Tipo Obligatorio Valor predeterminado Descripción
Origen de datos list HTTP requerido ninguno 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 tabla de Hive, un punto de conexión de OData o Azure Cosmos dB.
Dirección URL del extremo cualquiera string requerido ninguno Proporcione el URI para el servidor de azure Cosmos DB.
Identificador de base de datos cualquiera string requerido ninguno Proporcione el nombre de la base de datos de Azure Cosmos DB.
Clave de DocumentDB cualquiera SecureString requerido ninguno Proporcionar una clave de API válida para la cuenta de Azure Cosmos DB
Id. de colección cualquiera string requerido ninguno Proporcione el nombre de una colección en la base de datos de Azure Cosmos DB.
Consulta SQL cualquiera string requerido ninguno Una SQL especifica los registros que se devolverán desde el almacén de datos de Azure Cosmos DB

Salidas

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

Excepciones

Excepción Descripción
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 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 0048 Se produce una excepción cuando no es posible abrir un archivo.
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
Importación desde Azure Blob Storage
Importar desde los proveedores de fuentes de distribución de datos
Importar desde la base de datos de SQL Server local