Condividi tramite


Applicare la trasformazione SQL

Questo articolo descrive un componente della finestra di progettazione di Azure Machine Learning.

Usando il componente Applica trasformazione SQL, è possibile:

  • Creare tabelle per i risultati e salvare i set di dati in un database portabile.

  • Eseguire trasformazioni personalizzate sui tipi di dati oppure creare aggregazioni.

  • Eseguire le istruzioni di query SQL per filtrare o modificare i dati e restituire i risultati della query come tabella dati.

Importante

Il motore SQL usato in questo componente è SQLite. Per altre informazioni sulla sintassi SQLite, vedere SQL come compreso da SQLite. Questo componente avrà un aumento dei dati su SQLite, che si trova nel database di memoria, quindi l'esecuzione del componente richiede molto più memoria e potrebbe riscontrare un Out of memory errore. Assicurarsi che il computer disponga di RAM sufficiente.

Come configurare la trasformazione Applica SQL

Il componente può richiedere fino a tre set di dati come input. Quando si fa riferimento ai set di dati connessi a ogni porta di input, è necessario usare i nomi t1, t2e t3. Il numero di tabella indica l'indice della porta di input.

Di seguito è riportato il codice di esempio per illustrare come aggiungere due tabelle. t1 e t2 sono due set di dati connessi alle porte di input sinistro e centrale di Applica trasformazione SQL:

SELECT t1.*
    , t3.Average_Rating
FROM t1 join
    (SELECT placeID
        , AVG(rating) AS Average_Rating
    FROM t2
    GROUP BY placeID
    ) as t3
on t1.placeID = t3.placeID

Il parametro rimanente è una query SQL che usa la sintassi SQLite. Quando si digitano più righe nella casella di testo script SQL , usare un punto e virgola per terminare ogni istruzione. In caso contrario, le interruzioni di riga vengono convertite in spazi.

Questo componente supporta tutte le istruzioni standard della sintassi SQLite. Per un elenco di istruzioni non supportate, vedere la sezione Note tecniche .

Note tecniche

Questa sezione contiene i dettagli, i suggerimenti e le risposte all'implementazione alle domande frequenti.

  • Un input è sempre necessario sulla porta 1.

  • Per gli identificatori di colonna che contengono uno spazio o altri caratteri speciali, racchiudere sempre l'identificatore di colonna tra parentesi quadre o virgolette doppie quando si fa riferimento alla colonna nelle SELECT clausole o WHERE .

  • Se è stato usato Modifica metadati per specificare i metadati di colonna (categorici o campi) prima di Applicare la trasformazione SQL, gli output di Applica trasformazione SQL non conterrà questi attributi. È necessario usare Modifica metadati per modificare la colonna dopo Applica trasformazione SQL.

Istruzioni non supportate

Anche se supporta gran parte dello standard ANSI SQL, SQLite non include molte funzionalità supportate dai sistemi di database relazionale in commercio. Per altre informazioni, vedere SQL come compreso da SQLite. Tenere presente anche le restrizioni seguenti durante la creazione di istruzioni SQL:

  • SQLite usa la tipizzazione dinamica dei valori anziché assegnare un tipo a una colonna, come avviene nella maggior parte dei sistemi di database relazionali. È scarsamente tipizzato e consente la conversione implicita del tipo.

  • LEFT OUTER JOIN viene implementato, ma non RIGHT OUTER JOIN o FULL OUTER JOIN.

  • È possibile usare istruzioni RENAME TABLE e ADD COLUMN con il comando ALTER TABLE, ma altre clausole non sono supportate, tra cui DROP COLUMN, ALTER COLUMN e ADD CONSTRAINT.

  • È possibile creare una vista in SQLite, ma successivamente le viste sono di sola lettura. Non è possibile eseguire un'istruzione DELETE, INSERT o UPDATE su una vista. È tuttavia possibile creare un trigger che viene attivato al tentativo di eseguire operazioni DELETE, INSERT o UPDATE su una vista ed eseguire altre operazioni nel corpo del trigger.

Oltre all'elenco di funzioni non supportate fornite nel sito SQLite ufficiale, il wiki seguente fornisce un elenco di altre funzionalità non supportate: SQLite - Unsupported SQL

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.