Об этом проекте

delta-explain — это инструмент только для чтения, который делает процесс отсечения файлов в Delta Lake наглядным. Он парсит журнал транзакций таблицы Delta (или облачное расположение), чтобы проиллюстрировать, как отсечение по разделам и статистики по столбцам сужают набор кандидатных файлов для заданного предиката в стиле SQL. Запустить его можно из командной строки (`delta-explain ./my-table --where "age > 40 AND country = 'DE'"`), из Python (`from delta_explain import explain; report = explain(...)`) или встроить в CI в качестве гейта (`--min-pruning 90 --assert-stats`). Инструмент никогда не обращается к файлам Parquet — работает только с журналом, что сохраняет его поверхность минимальной, а гарантии работы задокументированными. Варианты установки включают Homebrew, PyPI, Cargo, Docker и предварительно собранные бинарные файлы. Он поддерживает локальные пути и облачные URI (S3, Azure, GCS) с обработкой учетных данных, специфичной для каждого провайдера. Отчёты генерируются в виде версионированного JSON-контракта; автономный HTML-просмотрщик может отображать воронки отсечения, детали по каждому файлу и диагностические данные. Производительность инструмента зависит от количества записей в журнале, а не от объёма данных. На 200 тыс. файлов он работает примерно за 1–2 секунды и использует около 300 МБ оперативной памяти. Широкие схемы или большое количество файлов линейно увеличивают потребление памяти, а размер вывода можно ограничить с помощью параметра `--limit`. Проект также доступен в виде GitHub Action для гейтов CI, выводит процент отсечения и количество файлов как выходные данные шага. Ключевые возможности включают: * Пошаговая визуализация отсечения (сначала по разделам, затем по статистикам) * Подробные списки по каждому файлу (причины оставления/пропуска, размеры, диапазоны статистик) * Гейты для CI на основе порогов (`--min-pruning`, `--assert-stats`) * JSON-отчёты с проверкой по схеме и HTML-просмотрщик * Кроссплатформенные бинарные файлы (Linux, macOS, Windows) и образы Docker * Полная документация, примеры и подробная статья о принципах работы инструмента. Инструмент построен на основе delta-kernel-rs, работает строго в режиме только для чтения и распространяется под лицензией MIT.