Udostępnij za pomocą


Instrukcja JOIN dla danych referencyjnych

✅ Strumień zdarzeń usługi Azure Stream Analytics ✅ Fabric

W typowym scenariuszu używamy aparatu przetwarzania zdarzeń do obliczania danych przesyłanych strumieniowo z bardzo małym opóźnieniem. W wielu przypadkach użytkownicy muszą skorelować utrwalone dane historyczne lub powolny zmieniający się zestaw danych (np. dane referencyjne) ze strumieniem zdarzeń w czasie rzeczywistym, aby podejmować inteligentniejsze decyzje dotyczące systemu. Na przykład dołącz strumień zdarzeń do statycznego zestawu danych, który mapuje adresy IP na lokalizacje. Jest to jedyna funkcja JOIN obsługiwana w usłudze Stream Analytics, gdy ograniczenie czasowe nie jest konieczne. Dane referencyjne mogą być również używane do określania wartości progowych specyficznych dla urządzenia.

Przykład

Jeśli pojazd komercyjny jest zarejestrowany w Firmie Płatnej, może przejść przez stoisko płatne bez zatrzymania do kontroli. Użyjemy tabeli odnośników do rejestracji pojazdów komercyjnych, aby zidentyfikować wszystkie pojazdy komercyjne z wygasłą rejestracją.

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime  
JOIN Registration R  
ON I1.LicensePlate = R.LicensePlate  
WHERE R.Expired = '1'

Specyfika dołączania danych referencyjnych

  • Korzystanie z funkcji Dołączanie danych referencyjnych wymaga, aby zdefiniowano źródło danych wejściowych dla danych referencyjnych.
  • Dane referencyjne JOIN są obsługiwane w przypadku sprzężenia wewnętrznego (ustawienie domyślne) i lewej zewnętrznej funkcji JOIN z danymi referencyjnymi po prawej stronie operatora JOIN.
  • Typy danych są ważnym aspektem oceny predykatu sprzężenia (ON klauzula). Podobne wartości dla różnych typów danych (1.0 i "1") mogą nie być zgodne. Zalecane jest jawne konwertowanie kluczy na wspólny typ.
  • Dane referencyjne mogą być statyczne (ładowane tylko raz) lub dynamiczne (odświeżane regularnie). Jednak nawet w przypadku dynamicznym dane referencyjne nie powodują postępu czasu, więc strumień po lewej stronie musi uzyskać nowe zdarzenia w celu wygenerowania danych wyjściowych. Aby uzyskać więcej informacji, zobacz również , jak postępuje czas w usłudze Azure Stream Analytics .

Zagadnienia dotyczące wydajności

Aby zapobiec pogorszeniu wydajności, należy zdefiniować predykaty sprzężenia odwołania (ON klauzula) za pomocą prostych kluczowych równości (ON s.myKey = r.myKey). Użycie złożonych wyrażeń lub nierówności spowoduje wewnętrzne sprzężenia krzyżowe, po których następuje filtry (pełne skanowanie a wyszukiwanie), co może mieć wpływ na ogólne opóźnienie.

Jeśli to możliwe, przenieś te złożone wyrażenia do WHERE klauzuli kroku zapytania lub połącz te same dane referencyjne wiele razy z prostszymi warunkami.

Zobacz też