В мае этого года прошла самая большая конференция по Python - PyCon US 2024. К сожалению, уже несколько лет подряд доклады с этой конференции выходят с большой задержкой. Этот год не стал исключением. Буквально только неделю назад стали доступны большинство докладов для просмотра на Ютубе. Плейлист всех видео смотрите тут. Я же выделю наиболее релевантные доклады для нас:
— Cheuk Ting Ho: PyO3 101 - Writing Python modules in Rust
3-х часовой туториал по написанию расширений на Rust для Python.
— Yan Yanchii: Pointers in Python
Солидный туториал для любителей покопаться в "кишках" Питона.
— Renne Rocha: Gathering data from the web using Python
Трёхчасовой туториал про веб-скрейпинг на Scrapy. Начинающим дата инженерам может быть весьма полезен.
— Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio
Воркшоп по SQLAlchemy. Полезно, если у вас небольшой опыт с ORM, в частности с алхимией.
— Reuven M. Lerner: Times and dates in Pandas
Доклад про работу со временем и датами в pandas. Полезно, взял фишечки для себя, хотя в последнее время не так часто работаю с pandas для анализа данных.
— Lynn Root: The Design of Everyday APIs
Полезный доклад для разработчиков публичных библиотек, да и не только публичных. Удобство и красота реализации интерфейсов программ.
— Sebastian Buczyński: Having fun with pydantic and pattern matching
Обзор фишечек при работе с pydantic и сопоставлениями по шаблону.
— Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB
Про DuckDB, Python и SQL на стероидах.
— David Hewitt: How Python Harnesses Rust through PyO3
Про Rust в экосистеме Python от автора PyO3.
Ссылка на полный плейлист докладов.
— Cheuk Ting Ho: PyO3 101 - Writing Python modules in Rust
3-х часовой туториал по написанию расширений на Rust для Python.
— Yan Yanchii: Pointers in Python
Солидный туториал для любителей покопаться в "кишках" Питона.
— Renne Rocha: Gathering data from the web using Python
Трёхчасовой туториал про веб-скрейпинг на Scrapy. Начинающим дата инженерам может быть весьма полезен.
— Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio
Воркшоп по SQLAlchemy. Полезно, если у вас небольшой опыт с ORM, в частности с алхимией.
— Reuven M. Lerner: Times and dates in Pandas
Доклад про работу со временем и датами в pandas. Полезно, взял фишечки для себя, хотя в последнее время не так часто работаю с pandas для анализа данных.
— Lynn Root: The Design of Everyday APIs
Полезный доклад для разработчиков публичных библиотек, да и не только публичных. Удобство и красота реализации интерфейсов программ.
— Sebastian Buczyński: Having fun with pydantic and pattern matching
Обзор фишечек при работе с pydantic и сопоставлениями по шаблону.
— Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB
Про DuckDB, Python и SQL на стероидах.
— David Hewitt: How Python Harnesses Rust through PyO3
Про Rust в экосистеме Python от автора PyO3.
Ссылка на полный плейлист докладов.
YouTube
PyCon US 2024
PyCon US 2024 - Pittsburgh, PA
В июне этого года прошел очередной митап по Data Engineering, организованный Netflix — Netflix Data Engineering Open Forum 2024.
Вот список интересных на мой взгляд докладов:
— Unbundling the Data Warehouse: The Case for Independent Storage
— Automating the Data Architect: Generative AI for Enterprise Data Modeling
— Data Quality Score: How We Evolved the Data Quality Strategy at Airbnb
— Reflections on Building a Data Platform From the Ground Up in a Post-GDPR World
Полный список докладов доступен по ссылке.
Вот список интересных на мой взгляд докладов:
— Unbundling the Data Warehouse: The Case for Independent Storage
— Automating the Data Architect: Generative AI for Enterprise Data Modeling
— Data Quality Score: How We Evolved the Data Quality Strategy at Airbnb
— Reflections on Building a Data Platform From the Ground Up in a Post-GDPR World
Полный список докладов доступен по ссылке.
YouTube
Unbundling the Data Warehouse: The Case for Independent Storage
Speaker: Jason Reid (Co-founder & Head of Product at Tabular)
This tech talk is a part of the Data Engineering Open Forum at Netflix 2024. Unbundling a data warehouse means splitting it into constituent and modular components that interact via open standard…
This tech talk is a part of the Data Engineering Open Forum at Netflix 2024. Unbundling a data warehouse means splitting it into constituent and modular components that interact via open standard…
Ребята из Supabase не перестают радовать! 😲
На днях в сети появился новый сервис от Supabase: https://postgres.new. Это data modeling сервис на базе Postgres со встроенным AI ассистентом. Запуск Postgres прямо в браузере возможен благодаря https://pglite.dev/. Это облегчённая версия Postgres, упакованная в WASM.
Целевая аудитория сервиса:
— аналитики данных
— дата инженеры
— студенты, изучающие реляционные базы данных, в частности PostgreSQL
— разработчики, разрабатывающие схемы таблиц
Пример работы с сервисом смотрите на Ютубе.
На днях в сети появился новый сервис от Supabase: https://postgres.new. Это data modeling сервис на базе Postgres со встроенным AI ассистентом. Запуск Postgres прямо в браузере возможен благодаря https://pglite.dev/. Это облегчённая версия Postgres, упакованная в WASM.
Целевая аудитория сервиса:
— аналитики данных
— дата инженеры
— студенты, изучающие реляционные базы данных, в частности PostgreSQL
— разработчики, разрабатывающие схемы таблиц
Пример работы с сервисом смотрите на Ютубе.
Open Source Amazon SQS
Хочу поделиться с вами интересной находкой — smoothmq. Это полностью совместимая с Amazon SQS очередь на базе SQLite, написана на Go. Я активный пользователь Amazon SQS, это очень удобный и надёжный сервис для организации коммуникации между распределенными системами, и практически бесплатный, за первый миллион запросов в месяц вы ничего не платите.
И вот в сети появился Open Source аналог, который можно использовать в своих проектах. Единственный его минус — SQLite, который непросто масштабировать на несколько машин, а значит ни о какой надёжности пока речи и нет. Попытки масштабировать SQLite есть, и я о них ранее писал. Например, это проект rqlite от инженера из Google, или Litestream.
Автор, кстати, решил монетизировать свой продукт, запустив на его базе SaaS: https://smoothmq.com/. Правда по цене дороговато выходит.
Хочу поделиться с вами интересной находкой — smoothmq. Это полностью совместимая с Amazon SQS очередь на базе SQLite, написана на Go. Я активный пользователь Amazon SQS, это очень удобный и надёжный сервис для организации коммуникации между распределенными системами, и практически бесплатный, за первый миллион запросов в месяц вы ничего не платите.
И вот в сети появился Open Source аналог, который можно использовать в своих проектах. Единственный его минус — SQLite, который непросто масштабировать на несколько машин, а значит ни о какой надёжности пока речи и нет. Попытки масштабировать SQLite есть, и я о них ранее писал. Например, это проект rqlite от инженера из Google, или Litestream.
Автор, кстати, решил монетизировать свой продукт, запустив на его базе SaaS: https://smoothmq.com/. Правда по цене дороговато выходит.
GitHub
GitHub - poundifdef/smoothmq: An improved drop-in replacement for SQS
An improved drop-in replacement for SQS. Contribute to poundifdef/smoothmq development by creating an account on GitHub.
Get or Create средствами базы данных
У Haki Benita в блоге нашел статью про реализацию функции
Отличная статья, мне нравится, что автор использует пошаговый подход и объясняет на каждом этапе какую проблему решает. На первый взгляд может показаться, что нет никаких проблем реализовать Get or Create, но дьявол в мелочах. Рекомендую к прочтению, есть вероятность такой вопрос встретить в будущем на собеседованиях.
У Haki Benita в блоге нашел статью про реализацию функции
get_or_create
средствами PostgreSQL — How to Get or Create in PostgreSQL: and why it is so easy to get wrongОтличная статья, мне нравится, что автор использует пошаговый подход и объясняет на каждом этапе какую проблему решает. На первый взгляд может показаться, что нет никаких проблем реализовать Get or Create, но дьявол в мелочах. Рекомендую к прочтению, есть вероятность такой вопрос встретить в будущем на собеседованиях.
Hakibenita
How to Get or Create in PostgreSQL
And why it is so easy to get wrong...
Специализация по Data Engineering на Coursera
29 августа 2024 года на учебной платформе Coursera стартует специализация по дата инжинирингу от DeepLearning.AI — DeepLearning.AI Data Engineering Professional Certificate. Инструктором на курсах будет Joe Reis, известный в узких кругах как автор книги Fundamentals of Data Engineering, издательство O'Reilly.
Обучение рассчитано на 3 месяца, целевая аудитория Intermediate-level специалисты. В специализацию входит 4 курса:
— Introduction to Data Engineering
— Source Systems, Data Ingestion, and Pipeline
— Data Storage and Queries
— Data Modeling, Transformation, and Serving
Обучение платное как и большинство специализаций на Coursera, но есть возможность залететь на trial-период, он поможет понять стоит ли продолжать обучение дальше или сделать dropout.
Более подробно о программе узнайте по ссылке.
29 августа 2024 года на учебной платформе Coursera стартует специализация по дата инжинирингу от DeepLearning.AI — DeepLearning.AI Data Engineering Professional Certificate. Инструктором на курсах будет Joe Reis, известный в узких кругах как автор книги Fundamentals of Data Engineering, издательство O'Reilly.
Обучение рассчитано на 3 месяца, целевая аудитория Intermediate-level специалисты. В специализацию входит 4 курса:
— Introduction to Data Engineering
— Source Systems, Data Ingestion, and Pipeline
— Data Storage and Queries
— Data Modeling, Transformation, and Serving
Обучение платное как и большинство специализаций на Coursera, но есть возможность залететь на trial-период, он поможет понять стоит ли продолжать обучение дальше или сделать dropout.
Более подробно о программе узнайте по ссылке.
Coursera
DeepLearning.AI Data Engineering
Offered by DeepLearning.AI and Amazon Web Services. ... Enroll for free.
GIL и Python
Python, пожалуй, самый популярный язык программирования в дата инжиниринге несмотря на то, что его постоянно ругают за производительность и обжорство. Свои позиции он не сдал чего не скажешь, например, о Scala ☠️
Python своей "тормознутостью" отчасти обязан некогда архитектурному решению под названием GIL. Многие слышали эту аббревиатуру, но не все знают причину по которой появился GIL и как он работает под капотом. Если вам это интересно, то держите отличный доклад на русском языке: Зачем нужен GIL и как от него избавиться? от Евгения Афанасьева.
В Python версии 3.13, релиз которой будет уже в октябре, добавили опциональную возможность отключить GIL 😲, нюансы описаны в PEP-703. И про это есть в докладе у Евгения.
В общем, must watch
Python, пожалуй, самый популярный язык программирования в дата инжиниринге несмотря на то, что его постоянно ругают за производительность и обжорство. Свои позиции он не сдал чего не скажешь, например, о Scala ☠️
Python своей "тормознутостью" отчасти обязан некогда архитектурному решению под названием GIL. Многие слышали эту аббревиатуру, но не все знают причину по которой появился GIL и как он работает под капотом. Если вам это интересно, то держите отличный доклад на русском языке: Зачем нужен GIL и как от него избавиться? от Евгения Афанасьева.
В Python версии 3.13, релиз которой будет уже в октябре, добавили опциональную возможность отключить GIL 😲, нюансы описаны в PEP-703. И про это есть в докладе у Евгения.
В общем, must watch
YouTube
Зачем нужен GIL и как от него избавиться? / Евгений Афанасьев
Это Евгений Афанасьев, Teamlead в Avito, и его доклад на Pytup в Нижнем Новгороде — нашей конференции по питон-разработке. Здесь мы обсудили, как применять Python в бизнесе, ML и науке, и рассмотрели новшества в языке.
В своём выступлении Евгений расскажет…
В своём выступлении Евгений расскажет…
Релиз Apache Airflow 2.10
Сегодня вышел релиз новой версии Apache Airflow — 2.10. Не успел я ещё перейти на 2.9, а нам подогнали 2.10. Что нового?
—
— появилась возможность задавать разный Executor для tasks в рамках одного DAG
— Датасеты отныне не триггерят DAGs, находящиеся в состоянии paused
— Важно! Начиная с версии 2.10 Airflow по-умолчанию собирает телеметрию в рамках Open Source Marketing, все данные передаются в систему аналитики Scarf. Чтобы отключить, необходимо задать в конфиге
С полным списком изменений можно ознакомиться по ссылке.
Сегодня вышел релиз новой версии Apache Airflow — 2.10. Не успел я ещё перейти на 2.9, а нам подогнали 2.10. Что нового?
—
@skip_if
и @run_if
декораторы, позволяющие задавать условия при которых следует запускать или пропускать`task` — появилась возможность задавать разный Executor для tasks в рамках одного DAG
— Датасеты отныне не триггерят DAGs, находящиеся в состоянии paused
— Важно! Начиная с версии 2.10 Airflow по-умолчанию собирает телеметрию в рамках Open Source Marketing, все данные передаются в систему аналитики Scarf. Чтобы отключить, необходимо задать в конфиге
[usage_data_collection]enabled=False
либо через переменную окружения SCARF_ANALYTICS=false
С полным списком изменений можно ознакомиться по ссылке.
GitHub
Release Apache Airflow 2.10.0 · apache/airflow
Significant Changes
Datasets no longer trigger inactive DAGs (#38891)
Previously, when a DAG is paused or removed, incoming dataset events would still
trigger it, and the DAG would run when it is u...
Datasets no longer trigger inactive DAGs (#38891)
Previously, when a DAG is paused or removed, incoming dataset events would still
trigger it, and the DAG would run when it is u...
Мудрые слова!
А что думаете вы? Я на практике также стараюсь максимально избегать распределенных транзакций, т.к. это сразу значительно усложняет систему.
Наиболее популярные паттерны распределенных транзакций:
— Saga Pattern
— 2-Phase Commit
А что думаете вы? Я на практике также стараюсь максимально избегать распределенных транзакций, т.к. это сразу значительно усложняет систему.
Наиболее популярные паттерны распределенных транзакций:
— Saga Pattern
— 2-Phase Commit
Недавно я постил доклад про GIL и его отключение в будущих версиях Python. Вчера же на канал PyCon US загрузили доклад от Юры Селиванова про сабинтерпретаторы: Overcoming GIL with subinterpreters and immutability. Это один из вариантов улучшения производительности Python без отключения GIL. Я сам не сторонник удаления GIL, т.к. параллельное выполнение потоков потребует от программиста следить за их синхронизацией, чем собственно сейчас занимается GIL (он же mutex), поэтому интересно было послушать его доклад.
Для тех, кто в танке, PEP 734 описывает работу сабинтерпретаторов, релиз этой библиотеки планировался в составе Python 3.13, но, к сожалению, Steering Council в апреле этого года решил не включать модуль
Для тех, кто в танке, PEP 734 описывает работу сабинтерпретаторов, релиз этой библиотеки планировался в составе Python 3.13, но, к сожалению, Steering Council в апреле этого года решил не включать модуль
interpreters
в stdlib, мотивировав тем, что модулю надо "настояться" в качестве отдельного PyPI пакета. Решение не осуждаю, поэтому пробуйте его на вкус через pip, правда работает только с 3.13+.Telegram
DataEng
GIL и Python
Python, пожалуй, самый популярный язык программирования в дата инжиниринге несмотря на то, что его постоянно ругают за производительность и обжорство. Свои позиции он не сдал чего не скажешь, например, о Scala ☠️
Python своей "тормознутостью"…
Python, пожалуй, самый популярный язык программирования в дата инжиниринге несмотря на то, что его постоянно ругают за производительность и обжорство. Свои позиции он не сдал чего не скажешь, например, о Scala ☠️
Python своей "тормознутостью"…
В сети появился интересный проект — SlateDB. Это встроенное хранилище на базе LSM Tree, но все данные хранятся на Object Storage сервисах (Amazon S3, Google Cloud Storage, minIO и т.д.). Проект написан на Rust, и пока не существует биндингов на другие языки. SlateDB активно разрабатывается и пока не рекомендуется к использованию в продакшене.
Судя по всему, проект появился в результате прохождения мини-курса Mini-LSM.
Судя по всему, проект появился в результате прохождения мини-курса Mini-LSM.
slatedb.io
SlateDB - An embedded storage engine built on object storage | SlateDB
Description will go into a meta tag in <head />
Бот-помощник для дата инженера 🤖
Частенько возникает необходимость расшифровать расписание crontab-выражения на человеческий язык, поэтому запили телеграм-бота: CrontabDescriptionBot
Отправьте ему cron-строку и он вернёт вам расписание. Пользуйтесь!
Под капотом он работает на лямбдах, поэтому оплачивать хостинг мне не надо, и поэтому всегда будет работать.
Частенько возникает необходимость расшифровать расписание crontab-выражения на человеческий язык, поэтому запили телеграм-бота: CrontabDescriptionBot
Отправьте ему cron-строку и он вернёт вам расписание. Пользуйтесь!
Под капотом он работает на лямбдах, поэтому оплачивать хостинг мне не надо, и поэтому всегда будет работать.
Please open Telegram to view this post
VIEW IN TELEGRAM
3-х часовой мастер-класс про LLM от Sebastian Raschka: Building LLMs from the Ground Up: A 3-hour Coding Workshop
YouTube
Building LLMs from the Ground Up: A 3-hour Coding Workshop
REFERENCES:
1. Build an LLM from Scratch book: https://amzn.to/4fqvn0D
2. Build an LLM from Scratch repo: https://github.com/rasbt/LLMs-from-scratch
3. GitHub repository with workshop code: https://github.com/rasbt/LLM-workshop-2024
4. Lightning Studio for…
1. Build an LLM from Scratch book: https://amzn.to/4fqvn0D
2. Build an LLM from Scratch repo: https://github.com/rasbt/LLMs-from-scratch
3. GitHub repository with workshop code: https://github.com/rasbt/LLM-workshop-2024
4. Lightning Studio for…
DuckCon #5
Плейлист с докладами из прошедшей конференции DuckCon #5:
— DuckDB – Overview and latest developments
— MotherDuck: Taking flight with interactive analytics
— Outliers are all you need
— Quack attack: Bringing DuckDB to the dart side
— A duck for your dashboard: Performant data apps in the browser with DuckDB
— Delighting users with RESTful APIs and DuckDB
— Aerodynamic data models: Flying fast at scale with DuckDB
— Double glazing: Two years of windowing improvements
— dbverse: Composable database libraries for larger-than-memory scientific analytics
— A quack at building scalable data pipelines with DuckDB
Плейлист с докладами из прошедшей конференции DuckCon #5:
— DuckDB – Overview and latest developments
— MotherDuck: Taking flight with interactive analytics
— Outliers are all you need
— Quack attack: Bringing DuckDB to the dart side
— A duck for your dashboard: Performant data apps in the browser with DuckDB
— Delighting users with RESTful APIs and DuckDB
— Aerodynamic data models: Flying fast at scale with DuckDB
— Double glazing: Two years of windowing improvements
— dbverse: Composable database libraries for larger-than-memory scientific analytics
— A quack at building scalable data pipelines with DuckDB
YouTube
DuckDB – Overview and latest developments (DuckCon #5, Seattle, 2024)
Speakers: Hannes Mühleisen, Mark Raasveldt (DuckDB Labs)
Slides: https://blobs.duckdb.org/events/duckcon5/hannes-muhleisen-mark-raasveldt-introduction-and-state-of-project.pdf
Slides: https://blobs.duckdb.org/events/duckcon5/hannes-muhleisen-mark-raasveldt-introduction-and-state-of-project.pdf
Гайд по промпт-инжинирингу от ребят из Anthropic: AI prompt engineering: A deep dive
Также в описании видео есть ссылка на их же мануал: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
Также в описании видео есть ссылка на их же мануал: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
YouTube
AI prompt engineering: A deep dive
Some of Anthropic's prompt engineering experts—Amanda Askell (Alignment Finetuning), Alex Albert (Developer Relations), David Hershey (Applied AI), and Zack Witten (Prompt Engineering)—reflect on how prompt engineering has evolved, practical tips, and thoughts…
Нашел в сети пост мини-книгу от небезызвестной Chip Huyen: Building A Generative AI Platform
Пожалуй, это одно из самых подробных руководств про построение Generative AI платформ своими руками, или как сейчас говорят RAG in Production.
Пожалуй, это одно из самых подробных руководств про построение Generative AI платформ своими руками, или как сейчас говорят RAG in Production.
Chip Huyen
Building A Generative AI Platform
After studying how companies deploy generative AI applications, I noticed many similarities in their platforms. This post outlines the common components of a generative AI platform, what they do, and how they are implemented. I try my best to keep the architecture…
Нашел в Ютубе двухчасовой доклад про индексы в PostgreSQL: Индексы в PostgreSQL. Как понять, что создавать
YouTube
Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Любой разработчик знает, что индексы — это мощный инструмент, который может улучшить работу запросов в базе данных и, как следствие, сократить…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Любой разработчик знает, что индексы — это мощный инструмент, который может улучшить работу запросов в базе данных и, как следствие, сократить…
В блоге базы данных ClickHouse вышел интересный пост, направленный на PostgreSQL юзеров, в нём показаны ключевые различия между моделированием данных в ClickHouse и PostgreSQL: https://clickhouse.com/blog/postgres-to-clickhouse-data-modeling-tips
ClickHouse
Postgres to ClickHouse: Data Modeling Tips
Learn data modeling tips while transitioning from Postgres to ClickHouse. Discover how to leverage ClickHouse’s ReplacingMergeTree engine, handle duplicates, and optimize performance using the right Ordering Key and PRIMARY KEY strategies. This guide offe
Building and scaling Notion’s data lake
В июле этого года в блоге Notion вышла подробная статья об их опыте построении data lake: https://www.notion.so/blog/building-and-scaling-notions-data-lake
В июле этого года в блоге Notion вышла подробная статья об их опыте построении data lake: https://www.notion.so/blog/building-and-scaling-notions-data-lake
Notion
How Notion build and grew our data lake to keep up with rapid growth
Релиз PostgreSQL 17
Уже и доклад есть на Ютубе о новшествах: https://www.youtube.com/watch?v=peLXtGorl8A
Уже и доклад есть на Ютубе о новшествах: https://www.youtube.com/watch?v=peLXtGorl8A
YouTube
Обзор PostgreSQL 17 — Павел Лузанов, PGConf.Russia 2024
На конференции по PostgreSQL в Москве руководитель отдела образовательных программ Postgres Professional представил детальный обзор фич новой 17-версии открытой СУБД PostgreSQL. На PGConf.Russia 2024 Павел рассказал про часть фич системы, о которых было известно…