Delen via


SQL-transformatie toepassen

In dit artikel wordt een onderdeel van Azure Machine Learning Designer beschreven.

Met behulp van 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 als begrepen door SQLite voor meer informatie over SQLite-syntaxis. Dit onderdeel stoten gegevens naar SQLite, die zich in de geheugendatabase bevindt, waardoor de uitvoering van het onderdeel veel meer geheugen vereist en kan een Out of memory fout veroorzaken. Zorg ervoor dat uw computer voldoende RAM-geheugen heeft.

SQL-transformatie toepassen configureren

Het onderdeel kan maximaal drie gegevenssets als invoer in beslag nemen. Wanneer u verwijst naar de gegevenssets die zijn verbonden met elke invoerpoort, moet u de namen t1, t2en t3. 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 invoerpoorten 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 in het tekstvak SQL Script typt, 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 notities

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

  • Er is altijd een 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 naar de kolom in de SELECT of WHERE componenten verwijst.

  • Als u Metagegevens bewerken hebt gebruikt om de metagegevens van de kolom (categorisch of velden) op te geven voordat u SQL-transformatie toepast, 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 als begrepen door 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 getypt en staat impliciete typeconversie toe.

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

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

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

Naast de lijst met niet-ondersteunde functies die zijn opgegeven 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.