Condividi tramite


Importare asset di dati (anteprima)

SI APPLICA A:Estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)SDK Python azure-ai-ml v2 (corrente)

Questo articolo illustra come importare dati nella piattaforma Azure Machine Learning da origini esterne. Un'importazione dei dati completata crea e registra automaticamente un asset di dati di Azure Machine Learning con il nome specificato durante l'importazione. Un asset di dati di Azure Machine Learning è simile a un segnalibro del Web browser (preferiti). Non è necessario ricordare i percorsi di archiviazione lunghi (URI) che puntano ai dati usati più di frequente. È invece possibile creare una risorsa dati e quindi accedere a tale risorsa usando un nome amichevole.

Un'importazione di dati crea una cache dei dati di origine, insieme ai metadati, per un accesso ai dati più veloce e affidabile nei processi di training di Azure Machine Learning. La cache dei dati evita vincoli di rete e connessione. Il controllo delle versioni dei dati memorizzati nella cache consente di supportare la riproducibilità. Questa funzionalità offre funzionalità di controllo delle versioni per i dati importati dalle origini di SQL Server. Inoltre, i dati memorizzati nella cache forniscono la derivazione dei dati per le attività di controllo. Un'importazione di dati usa pipeline di Azure Data Factory (ADF) in background, il che significa che è possibile evitare interazioni complesse con Azure Data Factory. Azure Machine Learning gestisce anche le dimensioni del pool di risorse di calcolo di Azure Data Factory, il provisioning e l'eliminazione delle risorse di calcolo. Questa gestione ottimizza il trasferimento dei dati determinando la parallelizzazione corretta.

I dati trasferiti vengono partizionati e archiviati in modo sicuro in Archiviazione di Azure, come file parquet. Questa risorsa di archiviazione consente un'elaborazione più rapida durante il training. I costi di calcolo di Azure Data Factory comportano solo il tempo usato per i trasferimenti di dati. I costi di archiviazione comportano solo il tempo necessario per memorizzare nella cache i dati, perché i dati memorizzati nella cache sono una copia dei dati importati da un'origine esterna. Archiviazione di Azure ospita l'origine esterna.

La funzionalità di memorizzazione nella cache comporta costi iniziali di calcolo e archiviazione. Tuttavia, paga per se stesso e può risparmiare denaro, perché riduce i costi di calcolo di training ricorrenti, rispetto alle connessioni dirette ai dati di origine esterna durante il training. Memorizza nella cache i dati come file parquet, che rende il training del processo più veloce e più affidabile rispetto ai timeout di connessione per set di dati di dimensioni maggiori. Questa memorizzazione nella cache comporta un minor numero di riesecuzioni e un minor numero di errori di training.

È possibile importare dati da Amazon S3, Azure SQL e Snowflake.

Importante

Questa funzionalità è attualmente disponibile in anteprima pubblica. Questa versione di anteprima viene fornita senza Contratto di servizio. Pertanto se ne sconsiglia l'uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero offrire funzionalità limitate.

Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.

Prerequisiti

Per creare e usare asset di dati, è necessario:

Note

Per un'importazione corretta dei dati, verificare di aver installato il pacchetto azure-ai-ml più recente (versione 1.31.0 o successiva) per SDK e l'estensione ml (versione 2.37.0 o successiva). È necessario Python 3.9 o versione successiva.

Se si dispone di un pacchetto SDK o di un'estensione dell'interfaccia della riga di comando precedente, rimuovere quello precedente e installarlo nuovo usando il codice illustrato nella sezione della scheda. Seguire le istruzioni per SDK e interfaccia della riga di comando, come illustrato di seguito:

Versioni del codice

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.37.0 or later)

Importare da un database esterno come asset di dati mltable

Note

I database esterni includono Snowflake e Azure SQL.

Gli esempi di codice seguenti possono importare dati da database esterni. Il connection che gestisce l'azione di importazione determina i metadati dell'origine dati del database esterno. In questo esempio il codice importa i dati da una risorsa Snowflake. La connessione punta a un'origine Snowflake. Con una piccola modifica, la connessione può puntare a un'origine del database SQL di Azure o a un'altra origine di database supportata. Il type di asset importato da un'origine di database esterna è mltable.

Creare un file YAML<file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

Eseguire quindi il comando seguente nell'interfaccia della riga di comando:

> az ml data import -f <file-name>.yml

Importare dati da un file system esterno come asset di dati di cartelle

Note

Una risorsa dati Amazon S3 può fungere da risorsa file system esterna.

Il connection che gestisce l'azione di importazione dei dati determina gli aspetti dell'origine dati esterna. La connessione definisce un bucket Amazon S3 come destinazione. La connessione prevede un valore path valido. Un valore di asset importato da un'origine del file system esterno ha un type di uri_folder.

L'esempio di codice successivo importa i dati da una risorsa Amazon S3.

Creare un file YAML<file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

Eseguire, quindi, questo comando nell'interfaccia della riga di comando:

> az ml data import -f <file-name>.yml

Controllare lo stato di importazione delle origini dati esterne

L'azione di importazione dei dati è un'azione asincrona. L'operazione può richiedere molto tempo. Dopo aver inviato un'azione di importazione dei dati tramite l'interfaccia della riga di comando o l'SDK, il servizio Azure Machine Learning potrebbe richiedere alcuni minuti per connettersi all'origine dati esterna. Il servizio avvia quindi l'importazione dei dati e gestisce la memorizzazione nella cache e la registrazione dei dati. Il tempo necessario per un'importazione di dati dipende anche dalle dimensioni del set di dati di origine.

Nell'esempio seguente viene restituito lo stato dell'attività di importazione dei dati inviata. Il comando o il metodo usa il nome dell'asset di dati come input per determinare lo stato della materializzazione dei dati.

> az ml data list-materialization-status --name <name>

Passaggi successivi