Använda SQL-transformeringApply SQL Transformation

I den här artikeln beskrivs en modul i Azure Machine Learning designer.This article describes a module of Azure Machine Learning designer.

Med hjälp av modulen Använd SQL-omvandling kan du:Using the Apply SQL Transformation module, you can:

  • Skapa tabeller för resultat och spara data uppsättningarna i en portabel databas.Create tables for results and save the datasets in a portable database.

  • Utföra anpassade omvandlingar av data typer eller skapa agg regeringar.Perform custom transformations on data types, or create aggregates.

  • Kör SQL-frågeuttryck för att filtrera eller ändra data och returnera frågeresultaten som en data tabell.Execute SQL query statements to filter or alter data and return the query results as a data table.

Viktigt

SQL-motorn som används i den här modulen är sqlite.The SQL engine used in this module is SQLite. Mer information om SQLite-syntax finns i SQL som förstås av sqlite.For more information about SQLite syntax, see SQL as Understood by SQLite. Den här modulen kommer att stöta på data till SQLite, som finns i minnes databasen, så att modulens körning kräver mycket mer minne och kan orsaka ett Out of memory fel.This module will bump data to SQLite, which is in the memory DB, hence the module execution requires much more memory and may hit an Out of memory error. Kontrol lera att datorn har tillräckligt med RAM-minne.Make sure your computer has enough RAM.

Konfigurera tillämpa SQL-omvandlingHow to configure Apply SQL Transformation

Modulen kan ta upp till tre data uppsättningar som indata.The module can take up to three datasets as inputs. När du refererar till data uppsättningarna som är anslutna till varje indataport måste du använda namnen t1 , t2 och t3 .When you reference the datasets connected to each input port, you must use the names t1, t2, and t3. Tabell numret anger indataportens index.The table number indicates the index of the input port.

Följande är exempel kod som visar hur du kopplar ihop två tabeller.Following is sample code to show how to join two tables. T1 och T2 är två data uppsättningar anslutna till vänster och mittersta indataportar i Apply SQL-omvandlingen:t1 and t2 are two datasets connected to the left and middle input ports of Apply SQL Transformation:

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

Den återstående parametern är en SQL-fråga som använder SQLite-syntaxen.The remaining parameter is a SQL query, which uses the SQLite syntax. När du skriver flera rader i text rutan SQL-skript , använder du ett semikolon för att avsluta varje instruktion.When typing multiple lines in the SQL Script text box, use a semi-colon to terminate each statement. Annars konverteras rad brytningar till blank steg.Otherwise, line breaks are converted to spaces.

Den här modulen stöder alla standard-instruktioner för SQLite-syntaxen.This module supports all standard statements of the SQLite syntax. En lista över instruktioner som inte stöds finns i avsnittet tekniska anteckningar .For a list of unsupported statements, see the Technical Notes section.

Tekniska anteckningarTechnical notes

Det här avsnittet innehåller implementerings information, tips och svar på vanliga frågor.This section contains implementation details, tips, and answers to frequently asked questions.

  • Det krävs alltid indatatyper på port 1.An input is always required on port 1.

  • För kolumn identifierare som innehåller ett blank steg eller andra specialtecken, omger du alltid kolumnens identifierare inom hakparenteser eller dubbla citat tecken när du refererar till kolumnen i or- SELECT WHERE satserna.For column identifiers that contain a space or other special characters, always enclose the column identifier in square brackets or double quotation marks when referring to the column in the SELECT or WHERE clauses.

Instruktioner som inte stödsUnsupported statements

Även om SQLite stöder mycket av ANSI SQL standard innehåller det inte många funktioner som stöds av kommersiella Relations databas system.Although SQLite supports much of the ANSI SQL standard, it does not include many features supported by commercial relational database systems. Mer information finns i SQL som förstås av sqlite.For more information, see SQL as Understood by SQLite. Tänk också på följande begränsningar när du skapar SQL-uttryck:Also, be aware of the following restrictions when creating SQL statements:

  • SQLite använder dynamisk inmatning för värden i stället för att tilldela en typ till en kolumn som i de flesta Relations databas system.SQLite uses dynamic typing for values, rather than assigning a type to a column as in most relational database systems. Den är svagt skriven och tillåter implicit typ konvertering.It is weakly typed, and allows implicit type conversion.

  • LEFT OUTER JOIN implementeras, men inte RIGHT OUTER JOIN eller FULL OUTER JOIN .LEFT OUTER JOIN is implemented, but not RIGHT OUTER JOIN or FULL OUTER JOIN.

  • Du kan använda RENAME TABLE och- ADD COLUMN instruktioner med ALTER TABLE kommandot, men andra satser stöds inte, inklusive DROP COLUMN , ALTER COLUMN och ADD CONSTRAINT .You can use RENAME TABLE and ADD COLUMN statements with the ALTER TABLE command, but other clauses are not supported, including DROP COLUMN, ALTER COLUMN, and ADD CONSTRAINT.

  • Du kan skapa en vy i SQLite, men därefter är vyn skrivskyddad.You can create a VIEW within SQLite, but thereafter views are read-only. Det går inte att köra en DELETE -, INSERT -eller- UPDATE instruktion i en vy.You cannot execute a DELETE, INSERT, or UPDATE statement on a view. Du kan dock skapa en utlösare som utlöses vid ett försök till DELETE , INSERT eller UPDATE i en vy och utföra andra åtgärder i utlösaren.However, you can create a trigger that fires on an attempt to DELETE, INSERT, or UPDATE on a view and perform other operations in the body of the trigger.

Förutom listan med funktioner som inte stöds på den officiella webbplatsen för SQLite, innehåller följande wiki en lista över andra funktioner som inte stöds: sqlite-SQL som inte stödsIn addition to the list of non-supported functions provided on the official SQLite site, the following wiki provides a list of other unsupported features: SQLite - Unsupported SQL

Nästa stegNext steps

Se en uppsättning moduler som är tillgängliga för Azure Machine Learning.See the set of modules available to Azure Machine Learning.