Udostępnij za pośrednictwem


Stosowanie przekształcenia SQL

W tym artykule opisano składnik projektanta usługi Azure Machine Learning.

Za pomocą składnika Zastosuj transformację SQL można wykonywać następujące czynności:

  • Tworzenie tabel dla wyników i zapisywanie zestawów danych w przenośnej bazie danych.

  • Wykonywanie niestandardowych przekształceń na typach danych lub tworzenie agregacji.

  • Wykonaj instrukcje zapytania SQL, aby filtrować lub zmieniać dane i zwracać wyniki zapytania jako tabelę danych.

Ważne

Aparat SQL używany w tym składniku to SQLite. Aby uzyskać więcej informacji na temat składni SQLite, zobacz SQL w postaci zrozumiałej dla sqlite. Ten składnik będzie podbijać dane do sqlite, który znajduje się w bazie danych pamięci, dlatego wykonanie składnika wymaga znacznie większej ilości pamięci i może spowodować wystąpienie Out of memory błędu. Upewnij się, że komputer ma wystarczającą ilość pamięci RAM.

Jak skonfigurować stosowanie przekształcenia SQL

Składnik może przyjmować maksymalnie trzy zestawy danych jako dane wejściowe. W przypadku odwołowania się do zestawów danych połączonych z każdym portem wejściowym należy użyć nazw t1, t2i t3. Numer tabeli wskazuje indeks portu wejściowego.

Poniżej przedstawiono przykładowy kod pokazujący sposób łączenia dwóch tabel. T1 i t2 to dwa zestawy danych połączone z lewym i środkowymi portami wejściowymi funkcji Zastosuj transformację 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

Pozostały parametr jest zapytaniem SQL, które używa składni SQLite. Podczas wpisywania wielu wierszy w polu tekstowym Skrypt SQL użyj średnika, aby zakończyć każdą instrukcję. W przeciwnym razie podziały wierszy są konwertowane na spacje.

Ten składnik obsługuje wszystkie standardowe instrukcje składni SQLite. Aby uzyskać listę nieobsługiwanych instrukcji, zobacz sekcję Uwagi techniczne.

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.

  • Dane wejściowe są zawsze wymagane na porcie 1.

  • W przypadku identyfikatorów kolumn zawierających spację lub inne znaki specjalne należy zawsze ująć identyfikator kolumny w nawiasy kwadratowe lub znaki podwójnego cudzysłowu podczas odwoływania się do kolumny w SELECT klauzulach or WHERE .

  • Jeśli użyto opcji Edytuj metadane do określenia metadanych kolumn (kategorii lub pól) przed zastosowaniem przekształcenia SQL, dane wyjściowe funkcji Zastosuj przekształcenie SQL nie będą zawierać tych atrybutów. Aby edytować kolumnę po zastosowaniu przekształcenia SQL, należy użyć polecenia Edytuj metadane.

Nieobsługiwane instrukcje

Chociaż sqLite obsługuje większość standardu ANSI SQL, nie zawiera wielu funkcji obsługiwanych przez komercyjne systemy relacyjnych baz danych. Aby uzyskać więcej informacji, zobacz SQL rozumiany przez SQLite. Należy również pamiętać o następujących ograniczeniach podczas tworzenia instrukcji SQL:

  • SqLite używa dynamicznego wpisywania wartości, a nie przypisywania typu do kolumny, tak jak w większości systemów relacyjnych baz danych. Jest on słabo wpisany i umożliwia niejawną konwersję typu.

  • LEFT OUTER JOIN jest implementowany, ale nie RIGHT OUTER JOIN lub FULL OUTER JOIN.

  • Można użyć RENAME TABLE instrukcji i ADD COLUMN z poleceniem ALTER TABLE , ale inne klauzule nie są obsługiwane, w tym DROP COLUMN, i .ADD CONSTRAINTALTER COLUMN

  • Widok można utworzyć w programie SQLite, ale później widoki są tylko do odczytu. Nie można wykonać instrukcji DELETE, INSERTlub UPDATE w widoku. Można jednak utworzyć wyzwalacz, który jest uruchamiany przy próbie DELETE, INSERTlub UPDATE w widoku i wykonać inne operacje w treści wyzwalacza.

Oprócz listy nieobsługiwanych funkcji dostępnych w oficjalnej witrynie SQLite poniższa witryna typu wiki zawiera listę innych nieobsługiwanych funkcji: SQLite — nieobsługiwany program SQL

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.