Отличный ресурс про внутреннее устройство PostgreSQL: https://www.interdb.jp/pg/index.html
Wes McKinney, автор pandas, пишет 3-е издание своей книги Python for Data Analysis в рамках Open Edition: https://wesmckinney.com/book/
Мой опыт работы с pandas начинался именно с этой книги, хотя тогда она мне казалась далеко не дружелюбной для новичков.
Мой опыт работы с pandas начинался именно с этой книги, хотя тогда она мне казалась далеко не дружелюбной для новичков.
Wesmckinney
Python for Data Analysis, 3E
Исследование data engineering позиций внутри биг-техов
Наткнулся на небольшое исследование рынка dataeng позиций среди биг-тех компаний: Amazon, Google, Facebook (ой, Meta) и т.д. Автор вручную проанализировал 1К вакансий и выяснил некоторые инсайты:
- основное требование это знать Python и SQL
- чтобы расти дальше по технической части необходимо помимо Python/SQL иметь знания Java/Scala/C++
- биг-техи предпочитают code-heavy решения вместо новомодных low/no-code перделок
- почему то автор в статье упоминает Airflow как
- доля Amazon среди открытых вакансий по dataeng 65%
- Tableau в 2 раза популярнее Power BI
- Доли среди клауд провайдеров: AWS 53% (но стоит учесть, что 65% всех вакансий от Amazon), у Azure и GCP доли примерно одинаковые
- стриминг становится всё популярнее (spark streaming, flink, kafka)
- автор не забыл и про софт-скиллы, как ни крути, а работаем мы прежде всего с людьми
У меня была идея сделать анализ dataeng вакансий среди популярных площадок для понимания наиболее актуальных требований и не ограничиваться только FAANG. Ждите в ближайшее время (это, кстати, также может стать неплохим data engineering проектом в копилку).
Наткнулся на небольшое исследование рынка dataeng позиций среди биг-тех компаний: Amazon, Google, Facebook (ой, Meta) и т.д. Автор вручную проанализировал 1К вакансий и выяснил некоторые инсайты:
- основное требование это знать Python и SQL
- чтобы расти дальше по технической части необходимо помимо Python/SQL иметь знания Java/Scala/C++
- биг-техи предпочитают code-heavy решения вместо новомодных low/no-code перделок
- почему то автор в статье упоминает Airflow как
low-code pipeline solution, думаю это опечатка- доля Amazon среди открытых вакансий по dataeng 65%
- Tableau в 2 раза популярнее Power BI
- Доли среди клауд провайдеров: AWS 53% (но стоит учесть, что 65% всех вакансий от Amazon), у Azure и GCP доли примерно одинаковые
- стриминг становится всё популярнее (spark streaming, flink, kafka)
- автор не забыл и про софт-скиллы, как ни крути, а работаем мы прежде всего с людьми
У меня была идея сделать анализ dataeng вакансий среди популярных площадок для понимания наиболее актуальных требований и не ограничиваться только FAANG. Ждите в ближайшее время (это, кстати, также может стать неплохим data engineering проектом в копилку).
Medium
2022 Data Engineering Job Market: Analysis of 1,000 FAANG Job Postings
Recently, I was strongly considering the prospect of switching careers, so I set out to answer the question “What skills are in-demand for…
🔥4👍1
У ребят из Astronomer прошел очередной вебинар, на этот раз тема вебинара — Масштабирование Airflow
Посмотреть можно в ютубе: https://www.youtube.com/watch?v=i9F0LFobejc
Основной фокус сделали на двух самых популярных Executors: CeleryExecutor и KubernetesExecutor. Рассказали про нюансы и подводные камни каждого, в целом получилось полезно!
Посмотреть можно в ютубе: https://www.youtube.com/watch?v=i9F0LFobejc
Основной фокус сделали на двух самых популярных Executors: CeleryExecutor и KubernetesExecutor. Рассказали про нюансы и подводные камни каждого, в целом получилось полезно!
YouTube
Scaling Out Airflow
Airflow is purpose-built for high-scale workloads and high availability on a distributed platform. Since the advent of Airflow 2.0, there are even more tools and features to ensure that Airflow can be scaled to accommodate high-throughput, data-intensive…
👍9
Налетай, разбирай!
На Udemy раздают двухчасовой курс по Redis бесплатно и без смс, но с регистрацией: https://bit.ly/3LeuoBQ
На Udemy раздают двухчасовой курс по Redis бесплатно и без смс, но с регистрацией: https://bit.ly/3LeuoBQ
Udemy
Modern Redis Unleashed
<p>You can <strong>avoid vendor lock-in</strong> with your cloud services by using <strong>Redis</strong>. Redis has become much more than just a distributed cache; its new <strong>Redis Modules</strong> architecture runs on any cloud provider and enables…
👍13
Forwarded from How to DWH with Python
Подготовил конспект статьи от Shopify о сетапе Airflow на 10 тысяч DAG'ов со 150 тысячами запусков в день. Сэкономит вам время на прочтении и поможет освежить в памяти в будущем.
#briefly #airflow Airflow: scaling out recommendations by Shopify
https://telegra.ph/Airflow-scaling-out-recommendations-by-Shopify-06-03
What's inside:
— Cloud Storage vs Network File System.
— Metadata retention policy.
— Manifest file.
— Consistent distribution of load.
— Concurrency management.
— Using different execution environments.
Origin: Lessons Learned From Running Apache Airflow at Scale
#briefly #airflow Airflow: scaling out recommendations by Shopify
https://telegra.ph/Airflow-scaling-out-recommendations-by-Shopify-06-03
What's inside:
— Cloud Storage vs Network File System.
— Metadata retention policy.
— Manifest file.
— Consistent distribution of load.
— Concurrency management.
— Using different execution environments.
Origin: Lessons Learned From Running Apache Airflow at Scale
Telegraph
Airflow: scaling out recommendations by Shopify
Shopify runs over 10k DAGs. 150k runs per day. Over 400 tasks at a given moment on average. This is a brief overview of their approach. Link to source article. Fast file access Problem: reading DAGs files from Google Cloud Storage (through GCSFuse as a filesystem…
🔥10👍4
Доклады с Airflow Summit 2022 подъехали: https://bit.ly/3mzyl9T
YouTube
Airflow Summit 2022 Opening Video
👍7🔥2🎉1
Хех, тут новый релиз Luigi нарисовался — https://github.com/spotify/luigi/releases/tag/3.1.0
В интернетах народ уже давно похоронил этот замечательный фреймворк, апеллирует народ в основном к тому, что, мол, давно не было обновлений. А обновлять то там особо нечего, он простой и работает без сбоев. У меня, например, Luigi вот уже много лет бэкапит все сайты и складывает на S3.
В интернетах народ уже давно похоронил этот замечательный фреймворк, апеллирует народ в основном к тому, что, мол, давно не было обновлений. А обновлять то там особо нечего, он простой и работает без сбоев. У меня, например, Luigi вот уже много лет бэкапит все сайты и складывает на S3.
GitHub
Release 3.1.0 · spotify/luigi
3.1.0
Added
luigi
Documentation guidance around release version increments #3074
Add support for naming tasks in @requires #3077
Add traceback_max_length parameter for error email notifications #3...
Added
luigi
Documentation guidance around release version increments #3074
Add support for naming tasks in @requires #3077
Add traceback_max_length parameter for error email notifications #3...
🔥6
Про таймауты и внешние API
Хорошей практикой при работе с внешними сервисами я считаю явное указание таймаутов ожидания соединения и ответа от хоста. Такой подход поможет избежать проблем с "зависанием" соединения и, как следствие, блокировкой процесса (для блокирующих соединений). На моей памяти было 2 неприятных кейса. В далёком 2015 я использовал requests для работы с сервисом поиска и бронирования ЖД билетов в Казахстане, по-умолчанию в requests нет таймаута и ожидание может превратиться в бесконечность. Всё было хорошо до тех пор пока у внешнего сервиса не начались проблемы, и он перестал отвечать на запросы. Все worker-процессы ушли в бесконечное ожидание, и мой сервис перестал принимать новые соединения, сайт попросту сломался. Тогда мне потребовалось некоторое время, чтобы понять в чем проблема.
Со второй проблемой я столкнулся неделю назад. Сейчас я разрабатываю веб-сервисы для автоматизации рекламных сетей, активно пользуюсь Facebook Ads. Для работы с маркетинговым сервисом Фейсбука существует библиотека facebook-python-business-sdk. Внимание! Под капотом она использует requests 😉 И у неё нет таймаута по умолчанию. Я наткнулся на те же грабли, когда ФБ стал подтормаживать.
К слову, если вы как и я пользуетесь facebook-python-business-sdk, то таймаут можно установить через инициализацию API-класса:
FacebookAdsApi.init(access_token=access_token, api_version='v13.0', timeout=settings.FACEBOOK_ADS_API_TIMEOUT)
Не наступайте на грабли, ставьте таймауты 😉
Также по теме в ленте увидел пост про патчинг requests: https://adamj.eu/tech/2022/06/23/how-to-patch-requests-to-have-a-default-timeout/
Хорошей практикой при работе с внешними сервисами я считаю явное указание таймаутов ожидания соединения и ответа от хоста. Такой подход поможет избежать проблем с "зависанием" соединения и, как следствие, блокировкой процесса (для блокирующих соединений). На моей памяти было 2 неприятных кейса. В далёком 2015 я использовал requests для работы с сервисом поиска и бронирования ЖД билетов в Казахстане, по-умолчанию в requests нет таймаута и ожидание может превратиться в бесконечность. Всё было хорошо до тех пор пока у внешнего сервиса не начались проблемы, и он перестал отвечать на запросы. Все worker-процессы ушли в бесконечное ожидание, и мой сервис перестал принимать новые соединения, сайт попросту сломался. Тогда мне потребовалось некоторое время, чтобы понять в чем проблема.
Со второй проблемой я столкнулся неделю назад. Сейчас я разрабатываю веб-сервисы для автоматизации рекламных сетей, активно пользуюсь Facebook Ads. Для работы с маркетинговым сервисом Фейсбука существует библиотека facebook-python-business-sdk. Внимание! Под капотом она использует requests 😉 И у неё нет таймаута по умолчанию. Я наткнулся на те же грабли, когда ФБ стал подтормаживать.
К слову, если вы как и я пользуетесь facebook-python-business-sdk, то таймаут можно установить через инициализацию API-класса:
FacebookAdsApi.init(access_token=access_token, api_version='v13.0', timeout=settings.FACEBOOK_ADS_API_TIMEOUT)
Не наступайте на грабли, ставьте таймауты 😉
Также по теме в ленте увидел пост про патчинг requests: https://adamj.eu/tech/2022/06/23/how-to-patch-requests-to-have-a-default-timeout/
GitHub
GitHub - facebook/facebook-python-business-sdk: Python SDK for Meta Marketing APIs
Python SDK for Meta Marketing APIs. Contribute to facebook/facebook-python-business-sdk development by creating an account on GitHub.
👍21
На канале IT's Tinkoff появились видео с их конференции:
— Как мы строим Metadata Management
— Под капотом каталога данных
— Как с помощью Data Mesh разломать ваше DWH
— Data-docs — как найти данные о данных
Enjoy! ☀️
— Как мы строим Metadata Management
— Под капотом каталога данных
— Как с помощью Data Mesh разломать ваше DWH
— Data-docs — как найти данные о данных
Enjoy! ☀️
YouTube
Как мы строим Metadata Managemen — Юлия Кошелева и Энрика Матвейчук, Тинькофф
Пользователи хранилища регулярно сталкиваются с проблемами поиска нужных данных, внутренней несогласованностью и сложностью восприятия.
Юлия и Энрика рассмотрели подходы к улучшению качества метаданных и поделимся способами повышения уровня их полноты и…
Юлия и Энрика рассмотрели подходы к улучшению качества метаданных и поделимся способами повышения уровня их полноты и…
🔥6💩4
Forwarded from DevBrain
Как работает Redis? Узнать можно тут: https://bit.ly/3pIbA5b
architecturenotes.co
Redis Explained
A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.
👍13
Forwarded from DevBrain
Прошлый пост касался архитектуры Redis, а сейчас предлагаю вам познакомиться с кишками memcached: https://bit.ly/3czb6eQ
Лет 5-6 назад я был активным пользователем memcached, использовал его во всех проектах как основной кэш-бэкенд, но с бурным развитием Redis я переключился на него. Тем не менее, memcached поддерживается (последняя версия вышла 26 августа 2022 года), видео считаю очень полезным (как и канал автора в целом).
Лет 5-6 назад я был активным пользователем memcached, использовал его во всех проектах как основной кэш-бэкенд, но с бурным развитием Redis я переключился на него. Тем не менее, memcached поддерживается (последняя версия вышла 26 августа 2022 года), видео считаю очень полезным (как и канал автора в целом).
YouTube
Memcached Architecture - Crash Course with Docker, Telnet, NodeJS
Memcached is an in memory cache with one major feature be a transient cache. Memcached has a very simple design. It was originally designed to help with database load by storing the query result in memory to avoid further querying the database. By default…
👍4👎2
Forwarded from How to DWH with Python
#article #ethereum Exporting the full history of Ethereum into S3
https://medium.com/@tony.bryzgaloff/how-to-dump-full-ethereum-history-to-s3-296fb3ad175 (author: @bryzgaloff)
What's inside:
— BigQuery public datasets with Ethereum data: how to transfer to S3 quickly.
— Alternative approach: exporting data from a public Ethereum node. No need to run your own node!
— Processing
— Processing realtime updates from Ethereum.
— Best Data Engineering practices to process Ethereum data.
A short summary inside 👇
https://medium.com/@tony.bryzgaloff/how-to-dump-full-ethereum-history-to-s3-296fb3ad175 (author: @bryzgaloff)
What's inside:
— BigQuery public datasets with Ethereum data: how to transfer to S3 quickly.
— Alternative approach: exporting data from a public Ethereum node. No need to run your own node!
— Processing
uint256 with AWS Athena.— Processing realtime updates from Ethereum.
— Best Data Engineering practices to process Ethereum data.
A short summary inside 👇
Medium
How to dump a full history of Ethereum blockchain to S3
An efficient way to export blockchain data to a cloud storage, by Anton Bryzgalov
👍3
Вышел релиз Airflow 2.4: https://bit.ly/3eUmC57
Много всяких плюшек о которых подготовлю отдельный пост и обновлю контент курса 🎉
Много всяких плюшек о которых подготовлю отдельный пост и обновлю контент курса 🎉
Apache Airflow
Apache Airflow 2.4.0: That Data Aware Release
We're proud to announce that Apache Airflow 2.4.0 has been released with many exciting improvements.
👍19🔥8🐳1🍾1
Forwarded from DevBrain
Релиз Python 3.11
Вчера вышел долгожданный (как минимум мною) релиз Python 3.11
Новая версия быстрее предыдущей на 10-60%, а в среднем на 22%, но помимо буста в производительности релиз содержит ряд крутых фич:
— TaskGroup, можно забыть про asyncio.gather
— ExceptionGroups
— Читабельные traceback с подчеркиваниями
Мне особенно зашла фича с группами исключений, даже накидал небольшой демо-пример.
Когда стоит переводить проект на Python 3.11?
Торопиться не стоит, т.к. далеко не все пакеты в вашем проекте могут иметь работающие колёса (wheel). Прямо сейчас, например, нет колёс для библиотеки psycopg2 для python3.11 под Windows. Я бы рекомендовал подождать пару минорных версий с исправлениями и уже после готовиться к миграции.
Все хорошего кодинга! 🐍
Вчера вышел долгожданный (как минимум мною) релиз Python 3.11
Новая версия быстрее предыдущей на 10-60%, а в среднем на 22%, но помимо буста в производительности релиз содержит ряд крутых фич:
— TaskGroup, можно забыть про asyncio.gather
— ExceptionGroups
— Читабельные traceback с подчеркиваниями
Мне особенно зашла фича с группами исключений, даже накидал небольшой демо-пример.
Когда стоит переводить проект на Python 3.11?
Торопиться не стоит, т.к. далеко не все пакеты в вашем проекте могут иметь работающие колёса (wheel). Прямо сейчас, например, нет колёс для библиотеки psycopg2 для python3.11 под Windows. Я бы рекомендовал подождать пару минорных версий с исправлениями и уже после готовиться к миграции.
Все хорошего кодинга! 🐍
Python.org
Python Release Python 3.11.0
The official home of the Python Programming Language
👍8🍾5🕊3❤1👏1🤬1
Data Engineer (senior/lead)
🏢 в классном офисе в Москве;
💳 от 300К руб., белая ЗП или ИП;
🗂 большой датасет, интересные задачи, возможность влиять на продукт.
Ищем Data Engineer в команду PREDICTO. Будем разрабатывать CDP (costumer data platform), для сегментации пользователей на аудитории и многих других интересных задач.
Нет долгих согласований, стремимся к быстрому внедрению в production и итеративной работой над улучшениями.
Что нужно делать:
• Проектировать, разрабатывать и поддерживать пайплайны для сбора и обработки данных;
• Обеспечивать SLA и качество данных;
• Готовить данные для моделей машинного обучения и участвовать в их продукционализации совместно с data science командой.
Что ждем от кандидата:
• Хорошее знание технологий из стека: Python, SQL, Spark, Airflow;
• Опыт работы на проектах с большими данными, понимание принципов распределенной обработки данных;
• Опыт продуктовой разработки в технологических компаниях.
Будет плюсом:
• Опыт работы с облаками, особенно, с Яндекс.Облаком;
• Опыт разработки высоконагруженных бэкенд сервисов на Java, Scala или Python;
• Опыт работы с моделями машинного обучения в продакшене;
• Опыт работы с базами данных для аналитики, особенно, с ClickHouse.
Если Вас заинтересовала вакансия, пожалуйста, дайте обратную связь и резюме в Telegram: @fedosovaAS
🏢 в классном офисе в Москве;
💳 от 300К руб., белая ЗП или ИП;
🗂 большой датасет, интересные задачи, возможность влиять на продукт.
Ищем Data Engineer в команду PREDICTO. Будем разрабатывать CDP (costumer data platform), для сегментации пользователей на аудитории и многих других интересных задач.
Нет долгих согласований, стремимся к быстрому внедрению в production и итеративной работой над улучшениями.
Что нужно делать:
• Проектировать, разрабатывать и поддерживать пайплайны для сбора и обработки данных;
• Обеспечивать SLA и качество данных;
• Готовить данные для моделей машинного обучения и участвовать в их продукционализации совместно с data science командой.
Что ждем от кандидата:
• Хорошее знание технологий из стека: Python, SQL, Spark, Airflow;
• Опыт работы на проектах с большими данными, понимание принципов распределенной обработки данных;
• Опыт продуктовой разработки в технологических компаниях.
Будет плюсом:
• Опыт работы с облаками, особенно, с Яндекс.Облаком;
• Опыт разработки высоконагруженных бэкенд сервисов на Java, Scala или Python;
• Опыт работы с моделями машинного обучения в продакшене;
• Опыт работы с базами данных для аналитики, особенно, с ClickHouse.
Если Вас заинтересовала вакансия, пожалуйста, дайте обратную связь и резюме в Telegram: @fedosovaAS
🤮5👍4🖕1
Ко мне обратилась IT-компания с просьбой провести анонимный опрос среди подписчиков моего канала. Если у вас есть пара минут, порефлексируйте, пожалуйста, с нами о новой реальности в небольшом опросе. Ваши ответы помогут крупной IT-компании понять, где теперь лучше организовывать профессиональные мероприятия и оказывать помощь и поддержку комьюнити.
Пройти опрос.
Опрос актуален для граждан РФ
Пройти опрос.
Опрос актуален для граждан РФ
🤮14👍4😢2
На ютуб-канале SmartData начали появляться доклады с одноимённой конференции, которая проходила в конце октября: https://bit.ly/3zOHh2h
🔥8👍1
Как использовать легковесные кластеры Apache Spark для гибкого управления ресурсами?
1 декабря мы расскажем о возможностях сервиса Yandex Data Proc, где вы можете развернуть кластеры Apache Spark. Узнайте, как одновременно достичь высокой производительности в пиковые периоды и экономить затраты во время простоя.
Также мы покажем, как организовать хранение данных в S3 и преобразовывать их с помощью SQL-запросов. Поделимся планами и направлениями развития сервиса.
Участие бесплатное.
➡️ Регистрируйтесь на вебинар
1 декабря мы расскажем о возможностях сервиса Yandex Data Proc, где вы можете развернуть кластеры Apache Spark. Узнайте, как одновременно достичь высокой производительности в пиковые периоды и экономить затраты во время простоя.
Также мы покажем, как организовать хранение данных в S3 и преобразовывать их с помощью SQL-запросов. Поделимся планами и направлениями развития сервиса.
Участие бесплатное.
➡️ Регистрируйтесь на вебинар
👍6👎3