SQL-transformatie toepassen

In dit artikel wordt een onderdeel van de Azure Machine Learning-ontwerpfunctie beschreven.

Met het onderdeel SQL-transformatie toepassen kunt u het volgende doen:

  • Maak tabellen voor resultaten en sla de gegevenssets op in een draagbare database.

  • Voer aangepaste transformaties uit op gegevenstypen of maak aggregaties.

  • Voer SQL-queryinstructies uit om gegevens te filteren of te wijzigen en de queryresultaten als een gegevenstabel te retourneren.

Belangrijk

De SQL-engine die in dit onderdeel wordt gebruikt, is SQLite. Zie SQL as Understood by SQLite (SQL as Understood by SQLite) voor meer informatie over SQLite-syntaxis. Dit onderdeel zal gegevens naar SQLite stoten, die zich in de geheugendatabase bevindt. Daarom vereist de uitvoering van het onderdeel veel meer geheugen en kan er een Out of memory fout optreden. Zorg ervoor dat uw computer voldoende RAM-geheugen heeft.

SQL-transformatie toepassen configureren

Het onderdeel kan maximaal drie gegevenssets als invoer gebruiken. Wanneer u naar de gegevenssets verwijst die zijn verbonden met elke invoerpoort, moet u de namen t1, t2en t3gebruiken. Het tabelnummer geeft de index van de invoerpoort aan.

Hieronder ziet u voorbeeldcode om te laten zien hoe u twee tabellen kunt samenvoegen. t1 en t2 zijn twee gegevenssets die zijn verbonden met de linker- en middelste invoerpoort van SQL-transformatie toepassen:

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

De resterende parameter is een SQL-query, die gebruikmaakt van de SQLite-syntaxis. Wanneer u meerdere regels typt in het tekstvak SQL-script , gebruikt u een puntkomma om elke instructie te beëindigen. Anders worden regeleinden geconverteerd naar spaties.

Dit onderdeel ondersteunt alle standaardinstructies van de SQLite-syntaxis. Zie de sectie Technische opmerkingen voor een lijst met niet-ondersteunde instructies.

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

  • Er is altijd invoer vereist op poort 1.

  • Voor kolom-id's die een spatie of andere speciale tekens bevatten, plaatst u de kolom-id altijd tussen vierkante haken of dubbele aanhalingstekens wanneer u verwijst naar de kolom in de SELECT of-componenten WHERE .

  • Als u Metagegevens bewerken hebt gebruikt om de kolommetagegevens (categorisch of velden) op te geven vóór SQL-transformatie toepassen, bevatten de uitvoer van SQL-transformatie toepassen deze kenmerken niet. U moet Metagegevens bewerken gebruiken om de kolom te bewerken na SQL-transformatie toepassen.

Niet-ondersteunde instructies

Hoewel SQLite veel van de ANSI SQL-standaard ondersteunt, bevat het niet veel functies die worden ondersteund door commerciële relationele databasesystemen. Zie SQL as Understood by SQLite (SQL as Understood by SQLite) voor meer informatie. Houd ook rekening met de volgende beperkingen bij het maken van SQL-instructies:

  • SQLite gebruikt dynamisch typen voor waarden, in plaats van een type toe te wijzen aan een kolom, zoals in de meeste relationele databasesystemen. Het is zwak getypeerd en staat impliciete typeconversie toe.

  • LEFT OUTER JOIN is geïmplementeerd, maar niet RIGHT OUTER JOIN of FULL OUTER JOIN.

  • U kunt de instructies en gebruiken RENAME TABLE met de ALTER TABLE opdracht, maar andere componenten worden niet ondersteund, waaronder DROP COLUMN, ALTER COLUMNen ADD CONSTRAINT.ADD COLUMN

  • U kunt een WEERGAVE maken in SQLite, maar daarna zijn weergaven alleen-lezen. U kunt de DELETEinstructie , INSERTof UPDATE niet uitvoeren in een weergave. U kunt echter een trigger maken die wordt geactiveerd bij een poging tot DELETE, INSERTof UPDATE in een weergave en andere bewerkingen uitvoeren in de hoofdtekst van de trigger.

Naast de lijst met niet-ondersteunde functies op de officiële SQLite-site, biedt de volgende wiki een lijst met andere niet-ondersteunde functies: SQLite - Niet-ondersteunde SQL

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.