Home » Netflix создает решение для дополнительной обработки с использованием Maestro и Apache Iceberg

Netflix создает решение для дополнительной обработки с использованием Maestro и Apache Iceberg

Netflix создал новое решение для дополнительной обработки на своей платформе данных. Инкрементальный подход значительно снижает стоимость вычислительных ресурсов и время выполнения, поскольку позволяет избежать обработки полных наборов данных. Компания использовала свой механизм рабочего процесса Maestro и Apache Iceberg для повышения актуальности и точности данных и планирует предоставить возможности управляемого заполнения.

Netflix перенес всю обработку данных на Maestro, новейшее поколение собственной платформы оркестрации рабочих процессов, предназначенной для различных вариантов использования, включая конвейеры ETL, обучение моделей ML, пакетные задания и т. д. В то же время компания стремилась решить проблему некоторые распространенные проблемы с выполнением конвейера данных.

Во-первых, на платформе отсутствовала эффективная поддержка сценариев использования пакетной обработки с малой задержкой. Это привело к появлению нескольких внутренних решений, таких как Psyberg, которые работают только для конкретных случаев использования и обеспечивают тесную связь с бизнес-логикой. Во-вторых, поступление данных с опозданием вынуждало рабочие процессы использовать окно ретроспективного анализа, что увеличивало время выполнения и затраты. Наконец, заполнение наборов данных требовало значительных инженерных усилий, поскольку необходимо было создавать, выполнять и проверять специальные рабочие процессы обратного заполнения.

Решение, которое решает эти проблемы, обеспечивает поэтапную обработку добавленных/обновляемых записей и использует богатые возможности Apache Iceberg, высокопроизводительного формата для больших аналитических таблиц, который, среди прочего, поддерживает выразительные SQL-запросы, эволюцию схемы, перемещение во времени и откат.

Решение для дополнительной обработки с использованием Apache Iceberg (Источник: блог Netflix Technology)

В решении IPS реализован упрощенный подход к созданию дополнительной таблицы Iceberg (называемой таблицей ICDC), в которой хранятся только ссылки из исходной таблицы без копирования каких-либо файлов данных, что является эффективным и экономичным. Кроме того, в новой таблице фиксируется диапазон изменений для указанных полей данных. Инженеры по обработке данных могут интегрировать подход инкрементной обработки в существующие рабочие процессы Maestro, используя новый тип шага рабочего процесса и/или новый механизм инкрементного триггера.

Read more:  Компания «Безвавласы» покупает дистрибьютора Hair Servis за 530 миллионов. Сделка должна привлечь новых клиентов - Hospodářské noviny

Внедрение возможностей дополнительной обработки привело к появлению новых шаблонов. Самый простой — использовать в конвейере рабочего процесса только таблицу ICDC, если другие источники данных не нужны, что значительно упрощает выполнение рабочего процесса и полностью устраняет необходимость использования окна ретроспективного анализа. Другие шаблоны включают использование данных о дополнительных изменениях или захваченной информации о диапазоне изменений для оптимизации логики преобразования данных и ограничения объема повторной обработки, когда рабочий процесс использует множество исходных таблиц.

Джун Хэ, штатный инженер-программист Netflix, поделился обзором возможностей, над которыми команда планирует работать дальше:

Мы улучшим IPS для поддержки более сложных случаев, помимо случаев только добавления. IPS сможет отслеживать ход изменений таблицы и поддерживать несколько типов изменений таблицы Iceberg (например, добавление, перезапись и т. д.). Мы также добавим поддержку управляемого заполнения в IPS, чтобы помочь пользователям создавать, отслеживать и проверять заполнение.

2024-01-15 08:00:32


1705307767
#Netflix #создает #решение #для #дополнительной #обработки #использованием #Maestro #Apache #Iceberg

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.