Pierwsze kroki z połączeniami analitycznymi
Utwórz połączenie analityczne, aby ładować i generować dane z modeli wdrożonych z Qlik Cloud lub z różnych narzędzi do uczenia maszynowego innych firm. Modele te zazwyczaj udostępniają punkty końcowe interfejsu API oparte na protokole REST. Przed utworzeniem i użyciem połączenia należy utworzyć i wdrożyć żądane modele uczenia maszynowego lub uzyskać do nich dostęp.
Oprócz Qlik AutoML istnieje kilka platform innych producentów, na których można tworzyć, uczyć i wdrażać modele uczenia maszynowego, np.:
-
Azure ML
-
Amazon SageMaker
Trenowanie modelu klasyfikacji bez kodu w języku AutoML w Azure Machine Learning studio
Get Started with Amazon SageMaker
Włączanie połączeń analitycznych dla punktów końcowych uczenia maszynowego
Punkty końcowe uczenia maszynowego są domyślnie wyłączone.
Administratorzy dzierżawy mogą włączyć punkty końcowe uczenia maszynowego w Administracji, w obszarze Sterowanie funkcją w oknie Ustawienia.
Używanie połączeń analitycznych i składni rozszerzeń po stronie serwera
Połączenia analityczne mogą wysyłać dane do Qlik AutoML lub zewnętrznych uwidocznionych punktów końcowych uczenia maszynowego na potrzeby obliczeń. Dane zwrócone z tych połączeń można załadować do aplikacji Qlik Sense.
Skrypty ładowania danych i wyrażenia wykresu to dwa sposoby dodawania połączeń analitycznych do aplikacji Qlik Sense. Zarówno funkcje, jak i parametry rozszerzenia po stronie serwera (SSE) są przetwarzane w programie Qlik Sense, a następnie konwertowane na żądania REST, które są wysyłane do modeli uczenia maszynowego. Skrypty ładowania SSE i wyrażenia wykresu muszą przestrzegać składni SSE. Zob. Składnia rozszerzeń po stronie serwera.
Skrypt ładowania danych
-
Możesz zwrócić tabelę z wywołania SSE i załadować dane z połączeń analitycznych za pomocą instrukcji LOAD ... EXTENSION w skrypcie ładowania danych Qlik Sense. Do modelu można wysłać pojedynczą tabelę, a zwrócona zostanie pojedyncza tabela danych.
-
Kiedy używa się funkcji SSE w skrypcie ładowania danych Qlik Sense (oprócz instrukcji LOAD ... EXTENSION) kardynalność jest zachowywana i zwracana jest pojedyncza kolumna.
-
Wywołania funkcji SSE z dowolnych innych instrukcji ładowania, na przykład Load ... From ..., obsługują tylko typy funkcji skalarnych i agregujących. Oznacza to, że dane zawierające n wierszy spowodują n wywołań modelu, chyba że agregujesz dane dające jedno wywołanie.
-
Typy danych są automatycznie wykrywane w połączeniach analitycznych. Jeśli dane nie zawierają żadnych wartości liczbowych, a zawierają co najmniej jeden ciąg znaków inny niż NULL, wówczas takie pole jest traktowane jako tekstowe. W każdym innym przypadku jest traktowane jako liczbowe. Typ danych można wymusić, umieszczając nazwę pola w funkcji String() lub Mixed(). String() wymusza, aby pole było wartością tekstową. Jeśli pole jest liczbowe, wówczas wyodrębniana jest część tekstowa wartości podwójnej — nie jest wykonywane żadne przekształcenie. Mixed() wymusza, aby pole było wartością podwójną.
Wyrażenia wykresu
-
Wyrażenia wykresu nie mogą korzystać z tabeli zwróconej z wywołania funkcji SSE. Gdy używasz funkcji SSE w wyrażeniu wykresu, liczebność jest zachowywana i tylko pierwsza zwrócona kolumna będzie używana przez Qlik Sense.
Odwoływanie się do przestrzeni połączenia danych
Jeśli publikujesz aplikację lub skrypt w przestrzeni zarządzanej lub jeśli chcesz, aby żądania SSE odnosiły się do połączenia w bieżącej przestrzeni, użyj składni względnej. Zamiast tego możesz skonfigurować żądanie z odniesieniem do określonej nazwy przestrzeni. Pojęcia te są ważne zarówno w skrypcie ładowania, jak i wyrażeniach wykresu.
Aby uzyskać więcej informacji na temat stosowania składni uwzględniającej przestrzenie, zobacz:
Przykład 1: składnia względna przestrzeni w skrypcie ładowania
Poniższy przykład prezentuje połączenie z połączeniem analitycznym w skrypcie ładowania. Kod został zmodyfikowany tak, aby wskazywał połączenie w bieżącej przestrzeni aplikacji lub skryptu. W tym celu dodaje się dwukropek na początku nazwy połączenia (w tym przypadku „:Amazon_Titan_(Amazon_Bedrock)”). Bez tego dwukropka odniesienie wskazywałoby na połączenie w przestrzeni prywatnej użytkownika dokonującego przeładowania (lub właściciela harmonogramu przeładowania).
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":":Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
Tej składni uwzględniającej przestrzeń można użyć przed opublikowaniem aplikacji lub skryptu w przestrzeni zarządzanej, która zawiera również połączenie analityczne.
Przykład 2: składnia względna przestrzeni w wyrażeniu wykresu
Poniższy przykład to wyrażenie wykresu zawierające odniesienie do połączenia w bieżącej przestrzeni. W tym celu dodaje się dwukropek na początku nazwy połączenia (w tym przypadku „:Amazon_Titan_(Amazon_Bedrock)”). Bez tego dwukropka odniesienie wskazywałoby na połączenie w przestrzeni prywatnej użytkownika dokonującego przeładowania (lub właściciela harmonogramu przeładowania).
if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":":Amazon_Titan_(Amazon_Bedrock)","column":"outputText"}}',vQuestion))
Tej składni uwzględniającej przestrzeń można użyć przed opublikowaniem aplikacji lub skryptu w przestrzeni zarządzanej, która zawiera również połączenie analityczne.
Przykład 3: składnia przestrzeni wpisana bezpośrednio w skrypcie ładowania
Jeśli chcesz, aby odniesienie do połączenia analitycznego działało tylko w określonej przestrzeni, możesz zapisać wyrażenie tak, aby zawierało bezpośrednie odniesienie do przestrzeni. Jeśli nie podasz nazwy przestrzeni (a także pominiesz dwukropek dodany w przykładach 1 i 2), składnia będzie zapisana bezpośrednio i będzie odnosić się do połączenia w przestrzeni prywatnej użytkownika uruchamiającego przeładowanie (lub właściciela harmonogramu przeładowania).
Jeśli do dodania instrukcji ładowania użyjesz kreatora Wybierz dane, będzie to składnia używana automatycznie.
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_Shared_Space:Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
W tym przypadku odniesienie dotyczy połączenia w przestrzeni o nazwie My_Shared_Space.
Przykład 4: składnia przestrzeni zapisana bezpośrednio w wyrażeniu wykresu
Ten przykład jest podobny do przykładu 3. Jeśli nie podasz nazwy przestrzeni (a także pominiesz dwukropek dodany w przykładach 1 i 2), składnia będzie zapisana bezpośrednio i będzie odnosić się do połączenia w przestrzeni prywatnej użytkownika uruchamiającego przeładowanie (lub właściciela harmonogramu przeładowania).
if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_Shared_Space:Amazon_Titan_(Amazon_Bedrock)","column":"outputText"}}',vQuestion))
W tym przypadku odniesienie dotyczy połączenia w przestrzeni o nazwie My_Shared_Space.