Zelfstudie: Toegang tot Azure Synapse ADLS Gen2-gegevens in Azure Machine Learning
In deze zelfstudie wordt u begeleid bij het openen van gegevens die zijn opgeslagen in Azure Synapse Azure Data Lake Storage Gen2 (ADLS Gen2) van Azure Machine Learning (Azure Machine Learning). Deze mogelijkheid is vooral waardevol wanneer u uw machine learning-werkstroom wilt stroomlijnen door gebruik te maken van hulpprogramma's zoals Geautomatiseerde ML, geïntegreerd model en experiment bijhouden, of speciale hardware zoals GPU's die beschikbaar zijn in Azure Machine Learning.
Voor toegang tot ADLS Gen2-gegevens in Azure Machine Learning maken we een Azure Machine Learning-gegevensarchief dat verwijst naar het Azure Synapse ADLS Gen2-opslagaccount.
Vereisten
- Een Azure Synapse Analytics-werkruimte. Zorg ervoor dat er een Azure Data Lake Storage Gen2-opslagaccount is geconfigureerd als de standaardopslag. Voor het Data Lake Storage Gen2-bestandssysteem waarmee u werkt, moet u ervoor zorgen dat u de inzender voor Storage Blob-gegevens bent.
- Een Azure Machine Learning-werkruimte.
Bibliotheken installeren
Eerst installeren we het azure-ai-ml
pakket.
%pip install azure-ai-ml
Een gegevensarchief maken
Azure Machine Learning biedt een functie die bekend staat als een gegevensarchief, dat fungeert als een verwijzing naar uw bestaande Azure-opslagaccount. We maken een gegevensarchief dat verwijst naar ons Azure Synapse ADLS Gen2-opslagaccount.
In dit voorbeeld maken we een gegevensarchief dat is gekoppeld aan onze Azure Synapse ADLS Gen2-opslag. Nadat u een MLClient
object hebt geïnitialiseerd, kunt u verbindingsgegevens opgeven voor uw ADLS Gen2-account. Ten slotte kunt u de code uitvoeren om de gegevensopslag te maken of bij te werken.
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)
Meer informatie over het maken en beheren van Azure Machine Learning-gegevensarchieven vindt u in deze zelfstudie over Azure Machine Learning-gegevensarchieven.
Uw ADLS Gen2-opslagaccount koppelen
Zodra u uw gegevensarchief hebt ingesteld, kunt u deze gegevens openen door een koppeling naar uw ADLSg2-account te maken. In Azure Machine Learning is het maken van een koppeling naar uw ADLS Gen2-account het tot stand brengen van een directe koppeling tussen uw werkruimte en het opslagaccount, waardoor naadloze toegang tot de gegevens die zijn opgeslagen in het account mogelijk is. In wezen fungeert een koppeling als een pad waarmee Azure Machine Learning kan communiceren met de bestanden en mappen in uw ADLS Gen2-account alsof ze deel uitmaken van het lokale bestandssysteem in uw werkruimte.
Zodra het opslagaccount is gekoppeld, kunt u moeiteloos gegevens lezen, schrijven en bewerken die zijn opgeslagen in ADLS Gen2 met behulp van vertrouwde bestandssysteembewerkingen rechtstreeks in uw Azure Machine Learning-omgeving, waardoor gegevens vooraf worden verwerkt, modeltraining en experimenten worden vereenvoudigd.
Dit doet u als volgt:
Start de berekeningsengine.
Selecteer Gegevensacties en selecteer Vervolgens Koppelen.
Hier ziet en selecteert u de naam van uw ADLSg2-opslagaccount. Het kan even duren voordat de koppeling is gemaakt.
Zodra de koppeling gereed is, kunt u gegevensacties selecteren en vervolgens Verbruiken. Onder Gegevens kunt u vervolgens de koppeling selecteren waaruit u gegevens wilt gebruiken.
U kunt nu uw voorkeursbibliotheken gebruiken om gegevens rechtstreeks te lezen uit uw gekoppelde Azure Data Lake Storage-account.
Gegevens lezen uit uw opslagaccount
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))