828просмотров
47.7%от подписчиков
21 июня 2025 г.
📷 ФотоScore: 911
Data-инструменты в действии: от контроля доступа до своей LLM-платформы В первой части мы рассказали, как устроена архитектура нашей data-платформы. Сегодня — о том, как мы используем эти инструменты: управляем доступом к данным, настраиваем маскирование, запускаем свои языковые модели и следим за качеством данных в автоматическом режиме. 📚 Управление метаданными и версиями данных Мы используем связку DataHub и Project Nessie. DataHub помогает искать таблицы, отслеживать lineage, назначать владельцев и управлять доступом. А Project Nessie — это как Git для данных: можно создавать ветки, откатываться на предыдущие версии, тестировать изменения в изолированной среде и потом сливать их в прод. Всё работает с Apache Iceberg и другими lakehouse-форматами. 🔎 Маскировка данных на уровне запросов Для защиты чувствительных данных мы встроили Open Policy Agent в пайплайн SQL-запросов. Когда пользователь делает запрос через Trino, OPA проверяет его роль и подставляет маски вместо настоящих значений (например, @domain.com или +7 *** 45). Политики доступа настраиваются через Keycloak и Open Policy Agent, а управление ролями — через Active Directory. Это работает прозрачно для пользователя и безопасно для бизнеса. 🧠 Open WebUI: свой интерфейс для работы с LLM Мы используем Open WebUI как внутреннюю альтернативу ChatGPT. Интерфейс разворачивается внутри нашей инфраструктуры и позволяет работать с локальными и внешними языковыми моделями — без отправки данных в облако. Поддерживаются модели вроде Llama 3, Phi-3, Ollama, vLLM, LM Studio и другие. Можно загружать документы, использовать RAG (Retrieval-Augmented Generation) и подключать плагины, например, для генерации изображений через Stable Diffusion. Open WebUI встроен в нашу data-инфраструктуру и использует тот же Kubernetes-кластер и доступ через Keycloak. ✅ Платформа качества данных (DQ Platform) Мы разработали продукт, который оркестрирует десятки тысяч автотестов данных через Apache Airflow. Каждый тест запускается изолированно в Kubernetes, с динамической конфигурацией DAG-ов из GitLab и DQ Metastore (на PostgreSQL). Мы тестируем как сырые данные (stage layer), так и витрины (ODS, DDS, CDM). Для выполнения тестов используем DuckDB и Trino — это позволяет обойтись без запуска Spark-сессий и снижает нагрузку. Отчеты о результатах формируются автоматически и отправляются по почте командам аналитиков и DQ-инженеров. Мы продолжаем развивать платформу, добавлять новые пайплайны, улучшать пайплайн маскировки, расширять каталог и интеграции с ML. #строим