Netflix tworzy rozwiązanie do przetwarzania przyrostowego przy użyciu Maestro i Apache Iceberg

Netflix tworzy rozwiązanie do przetwarzania przyrostowego przy użyciu Maestro i Apache Iceberg

Netflix wprowadza na rynek nowe rozwiązanie do przyrostowego przetwarzania danych

Netflix niedawno wdrożył nowe podejście do przetwarzania przyrostowego na swojej platformie danych. Metoda ta znacznie zmniejsza koszty zasobów obliczeniowych i czas wykonania, ponieważ pozwala uniknąć przetwarzania całych zbiorów danych. Firma wykorzystała silnik przepływu pracy Maestro i Apache Iceberg do poprawy aktualności i dokładności danych, a także planuje zapewnić możliwości zarządzanego uzupełniania danych.

Migracja do Maestro

Netflix przeprowadził migrację całego przetwarzania danych do Maestro, najnowszej generacji wewnętrznej platformy do orkiestracji przepływu pracy, obsługującej różne przypadki użycia, w tym potoki ETL, trenowanie modeli ML, zadania wsadowe i nie tylko. Jednocześnie firma szukała rozwiązania kilku typowych problemów związanych z uruchamianiem potoków danych.

Po pierwsze, platformie brakowało skutecznej obsługi przypadków użycia przetwarzania wsadowego o małych opóźnieniach. Doprowadziło to do powstania kilku własnych rozwiązań, takich jak Psyberg, które działają tylko w określonych przypadkach użycia i wprowadzają ścisłe powiązanie z logiką biznesową. Po drugie, późne napływanie danych zmusiło przepływy pracy do korzystania z okna podsumowania, co wydłużyło czas i koszty wykonania. Wreszcie uzupełnianie zbiorów danych wymagało znacznego wysiłku inżynieryjnego, ponieważ konieczne było utworzenie, wykonanie i walidacja dedykowanych przepływów pracy związanych z uzupełnianiem.

Rozwiązanie przyrostowe wykorzystujące Apache Iceberg

Rozwiązanie, które odpowiada na te wyzwania, umożliwia przyrostowe przetwarzanie dodanych/zaktualizowanych rekordów i wykorzystuje zaawansowane funkcje Apache Iceberg, wysokowydajnego formatu dla ogromnych tabel analitycznych, który obsługuje ekspresyjne zapytania SQL, l ewolucję wzorców, podróże w czasie i przewijanie, m.in. inni.

Wdrożone rozwiązanie stworzyło lekkie podejście do utworzenia dodatkowej tabeli Iceberg (zwanej tabelą ICDC), która przechowuje wyłącznie odniesienia z oryginalnej tabeli bez kopiowania jakichkolwiek plików danych, co jest wydajne i opłacalne. Ponadto nowa tabela rejestruje zakres zmian dla określonych pól danych. Inżynierowie danych mogą zintegrować podejście do przetwarzania przyrostowego z istniejącymi przepływami pracy Maestro, korzystając z nowego typu kroków przepływu pracy i/lub nowego mechanizmu wyzwalania przyrostowego.

Wprowadzenie możliwości przetwarzania przyrostowego dało początek nowym wzorcom. Najbardziej podstawowym rozwiązaniem jest używanie tabeli ICDC w potoku przepływu pracy tylko wtedy, gdy nie są potrzebne żadne inne źródła danych, co znacznie upraszcza realizację przepływu pracy i całkowicie eliminuje potrzebę korzystania z okna podsumowania. Inne schematy obejmują wykorzystanie danych o zmianach przyrostowych lub przechwyconego zakresu zmian w celu optymalizacji logiki transformacji danych w celu ograniczenia zakresu ponownego przetwarzania, gdy przepływ pracy wykorzystuje wiele tabel źródłowych.

Przyszłe ulepszenia

Jun He, główny inżynier oprogramowania w firmie Netflix, podzielił się przeglądem możliwości, nad którymi zespół planuje w przyszłości pracować:

„Będziemy ulepszać IPS, aby obsługiwał bardziej złożone przypadki, a nie tylko dodawał przypadki. IPS będzie w stanie śledzić postęp zmian w tabeli i obsługiwać kilka typów zmian w tabeli Iceberg (np. dołączanie, nadpisywanie itp.). Dodamy także obsługę zarządzanego wypełniania zapasów w IPS, aby pomóc użytkownikom tworzyć, monitorować i weryfikować uzupełnianie”.

Źródło: www.infoq.com

Avatar photo

Sylvain Métral

J'adore les séries télévisées et les films. Fan de séries des années 80 au départ et toujours accroc aux séries modernes, ce site est un rêve devenu réalité pour partager ma passion avec les autres. Je travaille sur ce site pour en faire la meilleure ressource de séries télévisées sur le web. Si vous souhaitez contribuer, veuillez me contacter et nous pourrons discuter de la manière dont vous pouvez aider.