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 Predict 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
Rozpoczęcie pracy z 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 Administrowanie, 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 Predict 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.