Плавный разбор вложенных JSON-файлов и эволюция схемы в дельта-таблицах без перезапуска конвейеров

•Эволюция схем неизбежна при работе с системами с исходным кодом, содержащими полезную нагрузку в формате JSON. •Delta Lake обеспечивает надежную поддержку эволюции схем, сохраняя фреймы данных Spark. •Сохранение данных как новый тип VARIANT и запрос. •Преобразование всей полезной нагрузки JSON в тип STRUCT. •Упрощенный синтаксис запроса. •Улучшенная производительность запросов. •Упрощенная интеграция с инструментами BI. •Функция fromjson требует схему JSON, что сложно для часто меняющихся схем. •Использование автозагрузчика DLT не всегда подходит для структурированной потоковой передачи. •Использование двух конвейеров DLT: первый фиксирует изменения схемы, второй преобразует данные в структуру. •Первый конвейер использует режим эволюции схемы "rescue", второй преобразует данные в структуру с помощью schemaofjsonagg. •Первый конвейер обрабатывает необработанные данные с помощью автозагрузчика и Python UDF. •Второй конвейер преобразует данные в структуру и проецирует поля в соответствующие столбцы. •При первоначальном запуске столбец rescue пуст, при последующих запусках фиксируются изменения. •Рекомендуется использовать два конвейера DLT для четкой последовательности зависимостей. •Решение подходит для случаев, когда перезапуск конвейеров невозможен из-за строгих соглашений об уровне обслуживания.

читать материал полностью

Этот пост подготовила нейросеть: сделала выжимку статьи и, возможно, даже перевела ее с английского. А бот опубликовал пост в Сетке.

repost

80

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь