Łączenie ze strumieniami danych
Następujące usługi strumieniowe są obsługiwane w projektach Qlik Open Lakehouse. Dane zdarzeń są stale pozyskiwane, aby zapewnić dostępność niemal w czasie rzeczywistym dla dalszej integracji danych, analiz i sztucznej inteligencji, umożliwiając potoki o niskim opóźnieniu, które odzwierciedlają najbardziej aktualną aktywność operacyjną.
Usługi strumieniowe, takie jak Apache Kafka i Amazon Kinesis, zapewniają trwałe potoki o wysokiej przepustowości do przechwytywania zdarzeń operacyjnych w miarę ich występowania. W przeciwieństwie do źródeł opartych na plikach, które opierają się na pozyskiwaniu wsadowym, źródła strumieniowe dostarczają dane w sposób ciągły w miarę generowania zdarzeń, umożliwiając przetwarzanie niemal w czasie rzeczywistym bez czekania na wygenerowanie lub zaplanowanie plików. Producenci publikują ustrukturyzowane lub częściowo ustrukturyzowane komunikaty, które zachowują swój schemat i obsługują partycjonowanie. Wszystkie aktualizacje i usunięcia dla tego samego rekordu muszą używać tego samego klucza partycji. Kafka i Kinesis gwarantują kolejność tylko w ramach pojedynczej partycji lub fragmentu, a nie w całym temacie lub strumieniu, więc użycie spójnego klucza partycji zapewnia, że zmiany dla danego rekordu są przetwarzane w prawidłowej kolejności. Qlik obsługuje również Amazon S3 jako źródło strumieniowe do ciągłego pozyskiwania danych zdarzeń.
Pozyskiwanie strumieniowe a pozyskiwanie wsadowe
Różnica między strumieniowymi i wsadowymi źródłami danych jest następująca:
-
W przypadku obu źródeł zdarzenia są efektywnie pozyskiwane co minutę, co wspiera przetwarzanie z niskim opóźnieniem i analizy niemal w czasie rzeczywistym.
-
W przypadku źródeł niestrumieniowych najpierw następuje pełne ładowanie istniejących danych, a następnie pozyskiwane są zmiany. Możesz również ponownie załadować dane pełnego ładowania ze źródła.
-
W przypadku źródeł strumieniowych nie ma wyraźnego rozróżnienia między początkowym ładowaniem a późniejszymi zdarzeniami. Qlik może zarządzać przechowywaniem i obsługuje również partycje.
W projekcie Qlik Open Lakehouse źródła strumieniowe mogą być używane tylko z zadaniem umieszczania strumieniowego i zadaniem transformacji strumieniowej:
-
Dane strumieniowe są pozyskiwane za pomocą zadania umieszczania strumieniowego i zamiast przetwarzać dyskretne pliki, zadanie umieszczania strumieniowego odczytuje zdarzenia w miarę ich napływania, umieszcza dane w Amazon S3 i utrwala zdarzenia jako pliki Avro. Takie podejście zachowuje ewolucję schematu, obsługuje złożone typy danych, takie jak struktury, i zapewnia wydajne przechowywanie z zoptymalizowaną wydajnością zapytań, jednocześnie utrzymując ciągły model pozyskiwania.
-
Podczas dołączania danych ze źródła strumieniowego, zadanie transformacji strumieniowej jest automatycznie dodawane dla każdego zestawu danych, który będzie przechowywany w formacie Iceberg. Opcjonalnie, zadanie transformacji strumieniowej może być używane do standaryzacji struktur, wzbogacania ładunków zdarzeń lub dopasowywania danych do modeli konsumpcji w dalszych etapach.
-
Zadanie dublowania danych umożliwia dublowanie zestawów danych ze źródeł strumieniowych do hurtowni danych w chmurze, pozwalając systemom w dalszych etapach konsumować zdarzenia strumieniowe bez duplikowania danych.Więcej informacji można znaleźć w temacie Mirroring danych do hurtowni danych w chmurze.
Ograniczenia
Obowiązują następujące ograniczenia dla wszystkich źródeł danych:
-
Jeśli pliki są różnych typów, co może się zdarzyć, gdy pochodzą z wielu źródeł lub wersji, zadanie transformacji utworzone przy użyciu pojedynczego pliku przykładowego (na przykład podczas wdrażania) nie uwzględnia automatycznie tych różnic.
-
Jeśli zmienisz typy danych w zadaniu umieszczania, na przykład dlatego, że musisz zahaszować dane, upewnij się, że typy danych transformacji odpowiadają nowym typom danych.