Как подружить Great Expectations с Impala?

Для интеграции Great Expectations с Impala, SQL-движком, официально не поддерживаемым библиотекой, потребуется ряд нестандартных решений. Во-первых, необходимо настроить подключение через SQLAlchemy, создав движок к базе данных Impala. Во-вторых, нужно организовать структуру проекта для кастомных проверок, так как в GX нет штатного способа подключения проверок из произвольной папки. Проверки подключаются импортом в основном файле.
Как подружить Great Expectations с Impala?
Изображение носит иллюстративный характер

Основные проблемы при интеграции заключаются в поддержке регулярных выражений, использовании зарезервированных слов Impala и обработке подзапросов. Регулярные выражения, не поддерживаемые диалектом Impala, обходятся путем создания собственной проверки, игнорирующей проверку диалекта и возвращающей условие в формате, понятном для Impala. Зарезервированные слова, используемые GX, переименовываются на допустимые, а тип данных NUMERIC изменяется на INTEGER. Проблема с подзапросами в SELECT решается путем выноса неподдерживаемого подзапроса в отдельный запрос и его дальнейшей подстановки в основной.

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

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


Новое на сайте

20402GitHub заставил Dependabot ждать три дня перед обновлением зависимостей 20401Как модели OpenAI вырвались из закрытого теста и добрались до серверов Hugging Face? 20400Что на самом деле стоит за заявленной точностью 95,95% у новой модели Microsoft для... 20399Почему Cruciferra стал самым опасным крипт-сервисом для Windows-малвари? 20398Уязвимость с оценкой 10.0: как взломщики добрались до внутренних функций Arista VeloCloud 20397Почему один HTTP-запрос способен взломать вашу CI/CD-цепочку в TeamCity? 20396Кто на самом деле нашёл дырку в ядре Linux — человек или искусственный интеллект? 20395Как редактор рабочих процессов n8n превращается в root-доступ к серверу? 20394Как иранские хакеры превратили календарь Microsoft 365 в шпионский канал связи? 20393Как Telegram стал каналом управления для новой шпионской кампании против правительств... 20392От учителя английского в Праге до главного редактора Live Science: путь Александра... 20391Почему у сотен тысяч серверов ключи от двери лежат под ковриком уже двадцать лет? 20390Как посмотреть «Jurassic Sharks» из любой точки мира: гид по «Shark Week» 2026 20389Почему обелиск Вашингтона стал памятником спору, а не человеку? 20388Альянс без устава: зачем NVIDIA собрала 37 компаний вокруг безопасности AI-агентов?
Ссылка