Tutorial: Acceso a datos de Azure Synapse ADLS Gen2 en Azure Machine Learning
En este tutorial, le guiaremos a través del proceso de acceso a los datos almacenados en Azure Synapse Azure Data Lake Storage Gen2 (ADLS Gen2) desde Azure Machine Learning (Azure Machine Learning). Esta funcionalidad es especialmente valiosa cuando se pretende simplificar el flujo de trabajo de aprendizaje automático aprovechando herramientas como Ml automatizado, modelo integrado y seguimiento de experimentos, o hardware especializado como GPU disponibles en Azure Machine Learning.
Para acceder a los datos de ADLS Gen2 en Azure Machine Learning, crearemos un almacén de datos de Azure Machine Learning que apunte a la cuenta de almacenamiento de ADLS Gen2 de Azure Synapse.
Requisitos previos
- Un área de trabajo de Azure Synapse Analytics. Asegúrese de que tiene una cuenta de almacenamiento de Azure Data Lake Storage Gen2 configurada como almacenamiento predeterminado. En el caso del sistema de archivos Data Lake Storage Gen2 con el que trabaja, asegúrese de ser el colaborador de datos de blobs de almacenamiento.
- Un área de trabajo de Azure Machine Learning.
Instalar bibliotecas
En primer lugar, instale el paquete de azure-ai-ml
.
%pip install azure-ai-ml
Creación de un almacén de datos
Azure Machine Learning ofrece una característica conocida como almacén de datos, que actúa como referencia a la cuenta de Azure Storage existente. Crearemos un almacén de datos que haga referencia a nuestra cuenta de almacenamiento de Azure Synapse ADLS Gen2.
En este ejemplo, crearemos un almacén de datos que vincule a nuestro almacenamiento de Azure Synapse ADLS Gen2. Después de inicializar un objeto MLClient
, puede proporcionar detalles de conexión a la cuenta de ADLS Gen2. Por último, puede ejecutar el código para crear o actualizar el almacén de datos.
from azure.ai.ml.entities import AzureDataLakeGen2Datastore
from azure.ai.ml import MLClient
ml_client = MLClient.from_config()
# Provide the connection details to your Azure Synapse ADLSg2 storage account
store = AzureDataLakeGen2Datastore(
name="",
description="",
account_name="",
filesystem=""
)
ml_client.create_or_update(store)
Puede obtener más información sobre cómo crear y administrar almacenes de datos de Azure Machine Learning mediante este tutorial sobre los almacenes de datos de Azure Machine Learning.
Montaje de la cuenta de almacenamiento de ADLS Gen2
Una vez configurado el almacén de datos, puede acceder a estos datos mediante la creación de un montaje en la cuenta de ADLSg2. En Azure Machine Learning, la creación de un montaje en la cuenta de ADLS Gen2 implica establecer un vínculo directo entre el área de trabajo y la cuenta de almacenamiento, lo que permite el acceso sin problemas a los datos almacenados dentro. Básicamente, un montaje actúa como un camino que permite a Azure Machine Learning interactuar con los archivos y carpetas de la cuenta de ADLS Gen2 como si formase parte del sistema de archivos local dentro del área de trabajo.
Una vez montada la cuenta de almacenamiento, puede leer, escribir y manipular datos almacenados en ADLS Gen2 sin esfuerzo mediante operaciones conocidas del sistema de archivos directamente dentro del entorno de Azure Machine Learning, lo que simplifica el preprocesamiento de datos, el entrenamiento del modelo y las tareas de experimentación.
Para hacerlo:
Inicie el motor de proceso.
Seleccione Acciones de datos y, a continuación, seleccione Montaje.
Desde aquí, debería ver y seleccionar el nombre de la cuenta de almacenamiento de ADLSg2. El montaje puede tardar unos minutos en crearse.
Una vez que el montaje esté listo, puede seleccionar Acciones de datos y, a continuación, Consumir. En Datos, puede seleccionar el montaje del que quiere consumir datos.
Ahora, puede usar las bibliotecas preferidas para leer directamente los datos de la cuenta de Azure Data Lake Storage montada.
Lectura de datos desde su cuenta de almacenamiento
import os
# List the files in the mounted path
print(os.listdir("/home/azureuser/cloudfiles/data/datastore/{name of mount}"))
# Get the path of your file and load the data using your preferred libraries
import pandas as pd
df = pd.read_csv("/home/azureuser/cloudfiles/data/datastore/{name of mount}/{file name}")
print(df.head(5))