DataEng – Telegram
DataEng
4.35K subscribers
40 photos
9 files
537 links
Канал про Data Engineering & Distributed Systems.

Всё, что вы хотели знать про построение инфраструктуры для хранения, обработки и эффективного анализа гигантского объёма данных.

Автор @adilkhash
Download Telegram
Forwarded from DevBrain
Подборка снипетов кода на Python, которые могут ввести в заблуждение и расходиться с привычным для вас поведением: https://github.com/satwikkansal/wtfpython
Такие штуки могут пригодиться на собеседованиях. К сожалению, есть ещё люди, которые судят о ваших знаниях языка на основе таких перлов (о которых сами узнали буквально пару дней назад 🤣)
​​Пока готовлю курс и пишу практические примеры, попутно копаюсь в коде Airflow. В один из таких заходов решил заюзать TelegramOperator, который появился во второй версии в декабре. При первом же запуске понял, что код нерабочий. Автор кода его даже не тестировал 😂

Проблема была в шаблонных полях при передаче сообщений в телеграм. Как итог сделал первый пул-реквест в Airflow, починил баги и покрыл всё это дело тестами. Исправления будут в версии 2.0.2.
Наткнулся на статью про эволюцию дата-инфраструктуры в Paypal. Как итог, открыл для себя ещё один инструмент Apache Gobblin. В Paypal более 300 миллионов пользователей, объём данных неуклонно растёт, куча легаси, сотни петабайт данных на Hadoop и других аналитических инструментах.

Я так понял, что и команд там много, каждая пользуется какими-то своими решениями для работы с данными. Чтобы выстроить централизованный процесс они решили перейти на Apache Gobblin и Apache Airflow. Первая балалайка это какой-то распределенный фреймворк, отвечающий за жизненный цикл данных, а Airflow все мы знаем и любим. Из коробки Gobblin не дружит с Airflow (но дружит со всякими Oozie и Azkaban), поэтому Paypal написали свой костыль.

Gobblin кажется интересным инструментом, сочетающим в себе все новомодные фразы типа data observability, data quality и т.д (хотя впервые увидел свет в 2015 году). Странно, что ещё не появилось managed решения на его основе.
Весьма доступное объяснение работы Raft алгоритма: https://www.brianstorti.com/raft/
Ещё у автора есть хорошая статья про Actors: https://www.brianstorti.com/the-actor-model/
Хорошее вводное видео про старт в области data engineering: https://bit.ly/3k07XnC
Если вас не смущает индийский акцент, то в остальном очень даже полезная инфа.
Двумя постами выше упоминал про Apache Gobblin, а сегодня вышла новость о том, что проект переведён из статуса Incubating в статус Top-Level.

А это значит, что теперь проект соответствует всем требования Apache Foundation и становится полноценным Apache Project: https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces73

Инструмент интересный, планировал поставить его и поиграться, а там глядишь и пост в блоге появится 😀
Набор докладов с конференции SmartData 2020 — плейлист
Там вы узнаете и про дата инфраструктуру в Яндекс.GO и про современные дата инструменты, даже про пайплайны на Dagster есть 💪
Тут от ребят из Astronomer подъехал гайд DAG Writing Best Practices: https://www.astronomer.io/blog/dag-writing-best-practices-in-apache-airflow
У них недавно проходил вебинар, запись которого есть по ссылке, правда качество оставляет желать лучшего. Надеемся, что скоро будет загружена HD версия иначе код не разглядеть.
Исходник: https://github.com/astronomer/webinar-dag-writing-best-practices
Архитектура формирования отчётов в Reddit: https://redditblog.com/2021/02/26/scaling-reporting-at-reddit/
​​Всем привет! 🤝

Прошел месяц с момента поста от 30 января про курс Apache Airflow 2.0. Я планировал его закончить к концу февраля, но сейчас он готов на 50%. Последнюю неделю я занимался разработкой платформы на которой он будет размещаться. Сначала я планировал взять что-то готовое, чтобы быстренько развернуть и иметь возможность показывать вам прогресс, но быстро понял, что с "готовыми" решениями я трачу куда больше времени на разбор что и как + допиливание своих хотелок.

Если интересно, то я смотрел в сторону open edx. Это открытая платформа сайта edx.org. Проект написан на Python и Django. Почитав исходный код проекта я понял, что там много лишнего и он уже достаточно объёмный.

Быстро нашлась легковесная альтернатива от Ines Montani (автор spaCy) - course-starter. Мне проект очень понравился, получилось быстро перенести свой контент на этот легковесный фрейм, но проблемы начались как только нужно было накрутить что-то своё. Например, авторизацию, подключение оплаты, комменты и всякие мелкие свистелки вроде кастомных линков и т.д. Проект классный, под капотом использует GatsbyJS (к сожалению, старую версию) и кучу разных плагинов вроде конвертации Markdown в HTML, плеер plyr, плагин для показа слайдов (а-ля презентации PowerPoint).

Помучавшись с готовыми решениями пришел к выводу, что надо пилить свою LMS (learning management system). Сказано - сделано. Встречайте: dataengineer.ru
Домен регистрировал почти 4 года назад, пришло время им воспользоваться. Ранее свой первый курс я запускал на платформе Stepik, но это невыгодно, т.к. комиссия порой достигает 30%, также выводить деньги я могу не чаще 1 раза в месяц. Своя платформа выгоднее во всех смыслах (кроме времени на её разработку). Также я, как нерезидент РФ, мог поставить цену только в долларах, а это большой минус для студентов из СНГ.

На платформе dataengineer.ru полностью доступен курс про дата пайплайны на Luigi, отныне цена в рублях и дешевле чем на степике ($10 против 590 рублей). Посмотреть его можно по ссылке. Есть бесплатный ознакомительный модули.

Курс про Apache Airflow также размещён, но пока не доступен для покупки, однако есть бесплатные модули, которые можно посмотреть уже сейчас.

На платформе доступна регистрация студентов, покупка курсов через процессинг Qiwi (пока купить можно только Luigi курс). В курсе есть возможность просматривать видео, читать текст и отвечать на вопросы. Планирую в ближайшее время добавить возможность оставлять комментарии к урокам и выполнять задания на кодинг (пока python). В будущем хочу также добавить SQL.

Возвращаясь к курсу Airflow. Постараюсь его полностью добить в течение первой половины марта. Всем, кто оставил заявку, сообщение о запуске придёт первым.
Пятничный видос: https://www.youtube.com/watch?v=qSJ8_Lc1oAY

Сам ещё не смотрел, но планирую на выходных глянуть. Я давно наблюдаю за Apache Druid, и даже когда-то предлагал его попробовать вместо Redshift. Возможно сейчас самое время сделать тест-драйв.
А у вас был опыт работы с Druid?
Прошел ещё один вебинар от Astronomer про управление секретами в Airflow: https://www.youtube.com/watch?v=Mf2uTVe3GPA
​​Написал небольшую заметку про работу с XCom в Apache Airflow: Apache Airflow и XCom

Код из заметки можно взять из репа у меня на гитхабе.
Нашел интересный блог дата инженера Anna Geller (Anisienia): https://www.annageller.com/
Судя по постам начинала она его в этом году, но уже есть ряд годных статей про Airflow, Prefect, AWS EKS и тд

Мне особенно понравился её глубокий и чуточку скептический пост про TaskFlow API, который появился в Airflow 2.0: https://www.annageller.com/posts/taskflow-api-in-apache-airflow-2-0-should-you-use-it
Я сейчас тоже готовлю подробный пост про TaskFlow API и кастомный бэкэнд для Xcom, где не всё так грустно как пишет Анна. Пост будет сегодня-завтра.

Ближе к концу этой недели все, кто оставил заявку на ранний доступ к курсу про Airflow получат письма на почту.