Apply SQL Transformation (Applica 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 portatile.

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

  • Eseguire 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 DI SQLite, vedere SQL come compreso da SQLite. Questo componente urterà i dati a SQLite, che si trova nel database di memoria, di conseguenza 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 unire due tabelle. t1 e t2 sono due set di dati connessi alle porte di input sinistra 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 informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.

  • Un input è sempre obbligatorio 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 conterranno questi attributi. È necessario usare Modifica metadati per modificare la colonna dopo l'applicazione della trasformazione SQL.

Istruzioni non supportate

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

  • SQLite usa la digitazione dinamica per i valori, anziché assegnare un tipo a una colonna come nella maggior parte dei sistemi di database relazionali. È tipizzato in modo debole e consente la conversione implicita dei tipi.

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

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

  • È possibile creare una vista all'interno di SQLite, ma in seguito le visualizzazioni sono di sola lettura. Non è possibile eseguire un'istruzione DELETE, INSERTo UPDATE in una vista. Tuttavia, è possibile creare un trigger che viene attivato su un tentativo di DELETE, INSERTo UPDATE su una visualizzazione ed eseguire altre operazioni nel corpo del trigger.

Oltre all'elenco delle 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.