Importare da Azure Cosmos DB

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Questo articolo descrive come usare il modulo Importa dati in Machine Learning Studio (versione classica) per importare dati da Azure Cosmos DB per l'uso in un esperimento di Machine Learning.

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Azure Cosmos DB supporta l'archiviazione di database NoSQL usando un modello di dati flessibile. I vantaggi dell'uso delle API SQL in questo archivio dati per Machine Learning includono prestazioni veloci e prevedibili, scalabilità automatica, distribuzione globale e funzionalità avanzate di query.

Insieme a database SQL di Azure, questa opzione consente di filtrare dinamicamente i set di dati in ingresso.

Informazioni sul funzionamento: Informazioni su Azure Cosmos DB

  • Per iniziare a usare Machine Learning usando i dati di Azure Cosmos DB, è necessario avere accesso a un account Azure Cosmos DB esistente contenente una raccolta di documenti correlati.

Nota

L'interfaccia utente in Machine Learning Studio (versione classica) usa ancora il nome DocumentDB in molte posizioni. È quindi possibile continuare a visualizzare i riferimenti a DocumentDB, anche se l'API è stata incorporata in Azure Cosmos DATABASE.

Come usare Import Data with Azure Cosmos DB

È consigliabile profilare i dati prima dell'importazione per assicurarsi che lo schema sia quello previsto. Il processo di importazione analizza un certo numero di righe head per determinare lo schema, ma le righe successive potrebbero contenere colonne aggiuntive o dati che causano errori.

Importare dati tramite la procedura guidata

Il modulo include una nuova procedura guidata che consente di scegliere un'opzione di archiviazione, selezionare tra sottoscrizioni e account esistenti e configurare rapidamente tutte le opzioni.

  1. Aggiungere il modulo Importa dati all'esperimento. È possibile trovare il modulo in Input e output dei dati.

  2. Fare clic su Avvia Importazione guidata dati e seguire le istruzioni visualizzate.

  3. Al termine della configurazione, per copiare effettivamente i dati nell'esperimento, fare clic con il pulsante destro del mouse sul modulo e scegliere Esegui selezionato.

Suggerimento

Se è necessario modificare una connessione dati esistente, la procedura guidata carica tutti i dettagli di configurazione precedenti. Non è necessario ricominciare da zero.

Impostare manualmente le proprietà nel modulo Importa dati

La procedura seguente descrive come configurare manualmente l'origine di importazione.

  1. Aggiungere il modulo Importa dati all'esperimento. È possibile trovare questo modulo nella categoria Input e output dati.

  2. Per Origine dati selezionare Azure DocumentDB.

    Potrebbe essere necessario fornire informazioni di connessione per il database dei documenti.

    Suggerimento

    Cercare il nome dell'opzione in Machine Learning Studio (versione classica) da modificare in un secondo momento. La funzionalità di importazione non è stata interessata dalla modifica del nome.

  3. Per URL endpoint, nel portale di Azure fare clic su Chiavi e copiare il contenuto del campo URI nella parte superiore della pagina.

  4. Per ID database incollare il nome del database da usare.

    Per ottenere il nome del database dal portale di Azure, fare clic su Esplora documenti. In questo riquadro è possibile visualizzare l'elenco di database e raccolte.

  5. Per Chiave DocumentDB incollare una chiave di accesso per l'account.

    Per individuare le chiavi, fare clic su Chiavi e quindi copiare il contenuto dei campi PRIMARY KEYo SECONDARY KEY .

  6. Per ID raccolta digitare il nome della raccolta come illustrato nel database CosmosDB specificato.

  7. Definire una SQL query e una condizione di filtro per i dati usando le opzioni SQL query e SQLparametri di query.

    Per SQL query, digitare una query che definisce i dati da recuperare dalla raccolta. È consigliabile usare Esplora query per creare e testare le query cosmosDB in anticipo.

    Per SQL parametri di query, specificare un'espressione in formato JSON che può essere usata per filtrare dinamicamente i dati restituiti. In genere si specifica il valore effettivo del valore del parametro quando si esegue l'esperimento come parte di un servizio Web.

    Se si usa un parametro, è necessario definire il nome della variabile di filtro come parte della clausola WHERE specificata nella SQL di testo della query.

    Se non si specifica un'espressione di filtro, per impostazione predefinita il valore è impostato su "{}" e vengono restituiti tutti i record.

    Vedere la sezione Note tecniche per esempi, problemi noti e consigli aggiuntivi sulle query SQL in CosmosDB.

  8. Selezionare l'opzione Usa risultati memorizzati nella cache per riutilizzare i risultati esistenti.

    Se si deseleziona questa opzione, i dati vengono letti dall'origine ogni volta che viene eseguito l'esperimento, indipendentemente dal fatto che i dati siano uguali o meno.

    Machine Learning possibile confrontare i dati memorizzati nella cache con i dati nell'account CosmosDB. Di conseguenza, non è possibile eseguire aggiornamenti incrementali da Machine Learning.

    Se si vuole reimportare solo quando i dati cambiano, è necessario definire tale logica in un'altra applicazione, ad esempio Azure Data Factory. Per altre informazioni, vedere Spostare dati da e verso il database di Azure Cosmos usando Azure Data Factory.

  9. Eseguire l'esperimento oppure selezionare solo il modulo Importa dati e fare clic su Esegui selezionato.

Risultati

Dopo aver eseguito il modulo o l'esperimento, è possibile fare clic con il pulsante destro del mouse sull'output del modulo per visualizzare i risultati in formato tabulare.

Per acquisire uno snapshot di questi dati nell'area di lavoro Machine Learning come set di dati, è possibile fare clic con il pulsante destro del mouse sull'output del modulo e scegliere Salva come set di dati. Tuttavia, questa operazione acquisisce solo i dati disponibili al momento dell'importazione. Se si prevede che i dati cambino di frequente, eseguire di nuovo Importa dati in base alle esigenze.

Esempio

Per una procedura dettagliata su come usare il database di Azure Cosmos come origine dati per Machine Learning, vedere l'Azure AI Gallery.

Note tecniche

Questa sezione contiene opzioni di configurazione avanzate e risposte alle domande frequenti.

Esempi di query semplici e con parametri

Si supponga di voler usare solo i dati sui vulcani con elevazioni al di sotto di 10000 piedi.

Query semplice

Incollare la query seguente nella SQL di testo della query:Select * from volcanodb where volcanodb.Elevation < 10000

In questo caso, il valore dell'espressione di filtro è impostato su "{}" e vengono restituiti tutti i record.

Query con parametri

Per ottenere solo i dati del vulcani correlati a un paese specifico, è possibile specificare il valore del paese come parametro passato alla query in fase di esecuzione. Questa operazione richiede le modifiche seguenti:

  1. Nella casella SQL di testo query definire una variabile da Country applicare al campo come parte della query SQL query:

    Select * from volcanodb where volcanodb.Country = @param1

  2. Nella casella SQL parametri di query specificare il nome del parametro e il relativo valore in formato JSON, come nell'esempio seguente:

    {"@param1":"Turkey"}

Risorse

Se non si ha un archivio documenti esistente, vedere questi articoli per iniziare.

Guida alla migrazione dei dati e alla sintassi delle query

Per esempi di query in un archivio dati JSON, scaricare il foglio di verifica delle query Cosmos database di Azure.

Se è necessario caricare contenuto in Azure Cosmos DB, è consigliabile usare lo strumento di migrazione del database Cosmos Azure. Convalida, carica e indicizza i dati. Lo strumento supporta più origini, tra cui MongoDB, Amazon DynamoDB, HBase, SQL Server database e file CSV.

Uso di query senza schema

Se i dati sono coerenti e prevedibili, è possibile usare una sintassi SQL semplice, ad esempio SELECT * FROM <document collection>. Si tratta di una query senza schema perché non sono stati denominati gli attributi esatti da restituire. Una query di questo tipo restituirebbe tutti i campi e tutte le righe della raccolta specificata.

Tuttavia, la non specifica di uno schema può causare risultati imprevisti o un errore di run-time se i documenti hanno schemi incoerenti. Ciò è dovuto al fatto che il modulo Import Data tenta di dedurre lo schema in base a un numero predeterminato di righe, come indicato di seguito:

  1. Quando non viene specificato alcun attributo, il modulo analizza la prima riga nel database CosmosDB.
  2. Il modulo crea nomi di colonna in base agli attributi e indovinare quali tipi di dati della colonna devono essere basati sulla riga di esempio.
  3. Se le righe successive contengono attributi nuovi o diversi, viene generato un errore di run-time.

È pertanto consigliabile specificare sempre gli attributi e i valori da restituire dall'archivio dati CosmosDB. Ad esempio, anziché usare la sintassi SELECT * , è consigliabile assegnare un nome a tutti gli attributi recuperati dalla query, come illustrato di seguito:

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

Parametri del modulo

La tabella seguente include solo i parametri per il modulo Import Data applicabili all'opzione Azure Cosmos DB.

Nome Intervallo Tipo Necessario Predefinito Descrizione
Origine dati list HTTP necessario Nessuno L'origine dati può essere HTTP, FTP, HTTPS anonimo o FTPS, un file nell'archivio BLOB di Azure, una tabella di Azure, un database SQL di Azure, una tabella Hive, un endpoint OData o Azure Cosmos dB.
URL endpoint any string necessario Nessuno Specificare l'URI per il server di database Cosmos Azure
ID database any string necessario Nessuno Specificare il nome del database di database Cosmos Azure
Chiave di DocumentDB any SecureString necessario Nessuno Specificare una chiave API valida per l'account del database Cosmos Azure
ID raccolta any string necessario Nessuno Specificare il nome di una raccolta nel database del database Cosmos Azure
Query SQL any string necessario Nessuno Una SQL query che specifica i record da restituire dall'archivio dati del database Cosmos Azure

Output

Nome Tipo Descrizione
Set di dati di risultati Tabella dati Set di dati con dati scaricati

Eccezioni

Eccezione Descrizione
Errore 0003 Si verifica un'eccezione se uno o più input sono Null o vuoti.
Errore 0029 Viene generata un'eccezione quando viene passato un URI non valido.
Errore 0002 Viene generata un'eccezione se non è stato possibile analizzare o convertire uno o più parametri dal tipo specificato nel tipo richiesto dal metodo di destinazione.
Errore 0048 Viene generata un'eccezione quando non è possibile aprire un file.
Errore 0049 Viene generata un'eccezione quando non è possibile analizzare un file.

Per un elenco degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere Machine Learning di errore dell'API REST.

Vedi anche

Importazione dei dati
Esportazione dei dati
Importazione da URL Web tramite HTTP
Importare da una query Hive
Importazione da Database SQL di Azure
Importare da Archiviazione BLOB di Azure
Importare da provider di feed di dati
Importare da un database SQL Server locale