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
, t2
a 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 neboWHERE
.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 neRIGHT OUTER JOIN
neboFULL 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 COLUMN
aADD CONSTRAINT
.ADD COLUMN
Zobrazení můžete vytvořit v rámci SQLite, ale potom jsou zobrazení jen pro čtení. Příkaz ,
INSERT
neboUPDATE
nelze spustitDELETE
v zobrazení. Můžete však vytvořit trigger, který se aktivuje při pokusu oDELETE
spuštění ,INSERT
neboUPDATE
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.