Data Engineering / reposts & drafts
34 subscribers
227 photos
22 videos
40 files
557 links
Download Telegram
Оптимизация запросов в Trino

Наковырял из документации основные термины и понятия по Trino (плюс настройки из последней версии 478, которые могут пригодиться для оптимизации). Получился в некотором виде конспект.

https://ivan-shamaev.ru/trino-query-optimizer/

Также на днях вышел перевод книги Trino. Анализ больших данных.

Первая глава и оглавление доступны для просмотра

#trino #iceberg
👏2💯211👍1😍1
Как устроена работа Iceberg на примере Trino и Rest Catalog?

Iceberg - это табличный формат хранения данных в datalake, который управляется через библиотеку на Java (есть также реализации на Go, Rust, C++ и Python). Но базово работает через Java.
В статье кратко рассматривается как устроено Trino и как устроен Iceberg Java API (без погружения в разработку).

Ну и ссылочки на deepwiki по Iceberg/Trino/Rest Catalog.

https://ivan-shamaev.ru/how-iceberg-works-using-trino-and-rest-catalog/

#Trino #Iceberg #RestCatalog #Java
🔥2💯211👍1
Forwarded from rzv Data Engineering
Как я коммитил в Open-source или опыт затаскивания сырой библиотеки на проект 1/2

🔸 Для учебного проекта на менторстве строю свою небольшую платформу данных. Там пересекаются задачи Dev Ops, Data Engineering, Project Management, и нужно много инструментов связать между собой.

Двумя недавними задачами было интегрировать dbt core с Airflow и развернуть multi-project UI для документации (аналог dbt docs serve). Прошерстил github, stackoverflow и reddit, нашёл упоминание нового пакета memiiso/opendbt -- как раз вроде всё есть, что мне нужно, и интеграции выглядят всего лишь в пару строчек. Ещё и обновлённый дата каталог есть по кнопке из Airflow UI -- красота https://memiiso.github.io/opendbt/opendbtdocs/ .

Интуиция и опыт подсказывали, что ~150 звёзд это лотерея и стоит ограничить время на эксперименты, но душа желала приключений. И вот как они прошли.

🔸 Вначале оказалось, что документация не обновлена и следование Tutorial ведёт к багу. Исправил у себя и решил сделать свой небольшой вклад в перспективный проект. Pull Request приняли быстро и с благодарностью, что подогрело моё желание по возможности поддержать проект временем.

Затем оказалось, что красивый UI каталог нужно вручную подкладывать в папку взамен index.html по результатам dbt docs generate. И то, чем автор пакета хвалится, нельзя использовать “из коробки”. Покрутил вместе с claude code agent, докинул недостающую команду opendbt docs generate, описал в доке и сделал PR. Его тоже быстро приняли.

🔸 А потом выяснилось то, почему решил написать этот пост. Следующие фичи, заявленные в Readme, не работают вместе:
⁃ user-friendly data catalog
⁃ running multiple projects

То есть вы можете использовать несколько проектов, но в UI мы их вам не покажем. И тут я совершил большую ошибку — подумал “нужно всего лишь добавить выпадающий список для выбора проектов”. Что могло пойти не так?)
😍211👍1🔥1👏1
Forwarded from rzv Data Engineering
Как я коммитил в Open-source или опыт затаскивания сырой библиотеки на проект 2/2

🔸 Нагенерить рабочее решение получилось за пару вечеров, и его можно было использовать в проекте. Я делаю PR, обрадовавшись что могу внести первый значимый вклад в проект, что-то новое. Потом делаю ещё несколько итераций, чтобы пройти проверки по линтеру. Всё, тесты проходит, выдыхаю.

Но теперь PR встречают не так радостно, потому что говнокод получился тот ещё (я не спец по frontend/backend), и изменение вышло масштабным. Не буду тебя томить подробным описанием истории каждой правки, получение Approve & Merge заняло 3 недели.

🔸 И вот что я выяснил за это время:
⁃ Оказалось что “маленькая правка” требует изменения backend и frontend на сотни строк кода
⁃ Мне нужно покрыть код тестами, и их AI генерит неплохо
⁃ CI тесты в контейнерах не запускаются, автор впилил костыль для их пропуска, и пара вечеров ушла на починку "инфры для тестов"
⁃ Часть моего кода не поддерживается в python 3.8, с которым автор либы хочет поддерживать совместимость
⁃ Пакеты в текущих тестах устанавливаются через сложную цепочку действий с обходом проверок pip

⁃ Делая “для себя”, я не учёл половину сценариев “что может пойти не так” и не обрабатывал какие-то исключения/выводил непонятные ошибки
⁃ Моя правка привела к потере загрузки “статического html” даже если проект один и его не нужно выбирать, пришлось учесть пожелание автора либы
⁃ Понадобилось несколько итераций чтобы прийти к понятному “интерфейсу конфигурации”
⁃ И на порядок больше итераций, чтобы выпилить лишние настройки, участки кода и оставить работающим только нужное
⁃ Я так и не смог заставить работать добавление переменной через AIRFLOW_VAR_[VAR_NAME]

⁃ Работа пошла в разы быстрее после установки act и запуска Github Actions тестов локально
⁃ AI Agent всеми силами пытается убедить что всё работает, скрывая явные ошибки и увиливая от ответственности
⁃ Если ты волонтёришь в open-source, тебе никто ничего не должен, в том числе отвечать быстро или что-то исправлять за тебя
⁃ Если планируется глобальная правка, нужно сначала ОТКРЫТЬ ISSUE и обсудить подход

🔸 Результат здесь, если тебе интересно посмотреть подробнее: https://github.com/memiiso/opendbt/pull/104
А у тебя есть подобный опыт? Поделись в комментах)
2😍2👍1🔥1
Forwarded from A Hillman
выгрузил у чатаГПТ актуальный стек на 2025 год
🔥2💯2👏1😍1
Forwarded from Data & IT Career
Data & IT Career
https://chatgpt.com/share/6943db7c-8b58-8009-9dad-95e769a8a761 – вот более похоже)
я бы ещё только
- добавил бы
- Trino (как modern)
- и Hadoop / Greenplum для РФ (как legacy – кто туда хочет, пч до сих пор популярно, особенно у бигтехов)
- заменил бы всё-таки Terraform на Docker / K8S – всё-таки они приоритетнее
- перенёс бы Airbyte / dlt / etc в "Bonus", пч Data Ingest куча разного бывает – не надо именно эти тулы именно учить, в отличе от остального
- разделил бы Data на рынки РФ / не РФ: пч для первого нужны CH + PG, а для загран – Snowflake/ BQ / Databricks

Airflow и dbt – это просто must-have что для РФ, что для загран!
- это прям самое главное и единое для всех DE во всём мире, кроме нишевых, типа streaming-oriented 😁
- Dagster больше для хипстеров) (хотя у нас на работе он))
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from A Hillman
Data & IT Career
покажи свой промпт! 😂😁
не сохранился. Запрашивал срез по вакансиям в ЕС на мидла
Forwarded from Data & IT Career
A Hillman
не сохранился. Запрашивал срез по вакансиям в ЕС на мидла
кароч, ничо личного: фуфел твой промпт был! 😁

вот я те с норм подписки/контектса (я в GPT много ресёрчу по DE) и норм запроса норм скиллсет подобрал – https://t.iss.one/digitalberd/3134/54677
- я тебе как сеньор говорю 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👏2👍1😍1💯1
Самые быстро развивающиеся продукты мира Data и Streaming
💯3😍21👍1🔥1👏1