Použití transformace SQL

Tento článek popisuje komponentu návrháře služby Azure Machine Learning.

Pomocí komponenty Použít transformaci SQL můžete:

  • Vytvořte tabulky pro výsledky a uložte datové sady do přenosné databáze.

  • Provádějte vlastní transformace datových typů nebo vytvářejte agregace.

  • Spuštěním příkazů dotazu SQL můžete filtrovat nebo měnit data a vracet výsledky dotazu jako tabulku dat.

Důležité

Modul SQL použitý v této komponentě je SQLite. Další informace o syntaxi SQLite najdete v tématu SQL jako pochopil SQLite. Tato komponenta narazí data na SQLite, která je v databázi paměti, a proto provádění komponenty vyžaduje mnohem více paměti a může dojít k Out of memory chybě. Ujistěte se, že má počítač dostatek paměti RAM.

Postup konfigurace použití transformace SQL

Komponenta může jako vstupy pobírat až tři datové sady. Když odkazujete na datové sady připojené ke každému vstupnímu portu, musíte použít názvy t1, t2a t3. Číslo tabulky označuje index vstupního portu.

Následuje ukázkový kód, který ukazuje, jak spojit dvě tabulky. t1 a t2 jsou dvě datové sady připojené k levému a prostřednímu vstupnímu portu použít transformaci 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

Zbývající parametr je dotaz SQL, který používá syntaxi SQLite. Při zadávání více řádků do textového pole Skript SQL použijte k ukončení každého příkazu středník. Jinak se konce řádků převedou na mezery.

Tato komponenta podporuje všechny standardní příkazy syntaxe SQLite. Seznam nepodporovaných příkazů najdete v části Technické poznámky .

Technické poznámky

Tato část obsahuje podrobnosti o implementaci, tipy a odpovědi na nejčastější dotazy.

  • Na portu 1 se vždy vyžaduje vstup.

  • Pro identifikátory sloupců, které obsahují mezeru nebo jiné speciální znaky, vždy uzavřete identifikátor sloupce do hranatých závorek nebo dvojitých uvozovek při odkazování na sloupec v SELECT klauzulích nebo WHERE .

  • Pokud jste před použitím transformace SQL použili k zadání metadat sloupce (kategorických nebo polí) upravit metadata, výstupy funkce Použít transformaci SQL tyto atributy obsahovat nebudou. K úpravě sloupce po použití transformace SQL je potřeba použít možnost Upravit metadata.

Nepodporované příkazy

Přestože SQLite podporuje většinu standardu ANSI SQL, neobsahuje mnoho funkcí podporovaných komerčními relačními databázovými systémy. Další informace najdete v tématu SQL podle SQLite. Při vytváření příkazů SQL mějte také na paměti následující omezení:

  • SQLite používá dynamické zadávání hodnot místo přiřazení typu ke sloupci jako ve většině relačních databázových systémů. Je slabě typovaný a umožňuje implicitní převod typu.

  • LEFT OUTER JOIN je implementovaný, ale ne RIGHT OUTER JOIN nebo FULL OUTER JOIN.

  • Příkazy a můžete použít RENAME TABLE s příkazemALTER TABLE, ale jiné klauzule se nepodporují, včetně DROP COLUMN, ALTER COLUMNa ADD CONSTRAINT.ADD COLUMN

  • Zobrazení můžete vytvořit v rámci SQLite, ale potom jsou zobrazení jen pro čtení. Příkaz , INSERTnebo UPDATE nelze spustit DELETEv zobrazení. Můžete však vytvořit trigger, který se aktivuje při pokusu o DELETEspuštění , INSERTnebo UPDATE v zobrazení a provádět další operace v těle triggeru.

Kromě seznamu nepodporovaných funkcí poskytovaných na oficiálním webu SQLite poskytuje následující wikiweb seznam dalších nepodporovaných funkcí: SQLite – Nepodporovaný sql

Další kroky

Projděte si sadu komponent dostupných pro Azure Machine Learning.