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:

  • Utwórz tabele dla wyników i zapisz zestawy danych w przenośnej bazie danych.

  • Wykonywanie przekształceń niestandardowych 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 języku SQL rozumianym przez SQLite. Ten składnik wyprzeda dane do bazy danych SQLite, która 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 na komputerze jest wystarczająca 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ływanie się do zestawów danych połączonych z poszczególnymi portami wejściowymi 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 to zapytanie 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ę Informacje 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 lub WHERE .

  • Jeśli użyto funkcji 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 obejmuje wielu funkcji obsługiwanych przez komercyjne systemy relacyjnych baz danych. Aby uzyskać więcej informacji, zobacz SQL w języku SQL rozumianym 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, jak w większości systemów relacyjnych baz danych. Jest słabo typizowane i umożliwia niejawną konwersję typu.

  • LEFT OUTER JOIN jest zaimplementowany, 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 wykonywać 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.