Condividi tramite


Importare asset di dati (anteprima)

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

Questo articolo illustra come importare dati nella piattaforma Azure Machine Learning da origini esterne. Un'importazione completata dei dati 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 un asset di dati e quindi accedere a tale asset con un nome descrittivo.

Un'importazione di dati crea una cache dei dati di origine, insieme ai metadati, per un accesso ai dati più rapido 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à. In questo modo sono disponibili 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 le pipeline di Azure Data Factory (Azure Data Factory) in background, il che significa che gli utenti possono evitare interazioni complesse con Azure Data Factory. Dietro le quinte, Azure Machine Learning gestisce anche la gestione delle dimensioni del pool di risorse di calcolo di Azure Data Factory, il provisioning delle risorse di calcolo e l'eliminazione, per ottimizzare 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. Ciò 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. Ciò comporta un minor numero di nuove esecuzioni e un minor numero di errori di training.

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

Importante

Questa funzionalità è attualmente 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 presentare funzionalità limitate.

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

Prerequisiti

Per creare e usare asset di dati, è necessario:

Nota

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

Se si dispone di un pacchetto SDK o di un'estensione dell'interfaccia della riga di comando precedente, rimuovere la versione precedente e reinstallare con 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.15.1 or later)

Importare da un database esterno come asset di dati mltable

Nota

I database esterni possono avere formati Snowflake, Azure SQL e così via.

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 e a un'origine del database SQL di Azure. 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

Nota

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 l'invio di 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 "asset di dati" come input per determinare lo stato della materializzazione dei dati.

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

Passaggi successivi