TGViewer
Channel Public Channel
DataEng

DataEng

@dataeng

Data Engineering & Distributed Systems

Contact @adilkhash
Subscribers
4.39K
Photos
43
Videos
0
Links
547

Showing posts older than #483 · Back to latest

Older Posts 20 shown
Post #477 3.67K
Post #474 5.95K
Про таймауты и внешние 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/
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
Post #473 2.74K
Хех, тут новый релиз Luigi нарисовался — https://github.com/spotify/luigi/releases/tag/3.1.0
В интернетах народ уже давно похоронил этот замечательный фреймворк, апеллирует народ в основном к тому, что, мол, давно не было обновлений. А обновлять то там особо нечего, он простой и работает без сбоев. У меня, например, 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...
  • 🔥 6
Post #471 3.24K

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
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
Post #465 5.4K
Post #464 5.14K
У ребят из Astronomer прошел очередной вебинар, на этот раз тема вебинара — Масштабирование Airflow
Посмотреть можно в ютубе: 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
Post #461 3.36K
Исследование 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
Post #458 2.53K
Wes McKinney, автор pandas, пишет 3-е издание своей книги Python for Data Analysis в рамках Open Edition: https://wesmckinney.com/book/
Мой опыт работы с pandas начинался именно с этой книги, хотя тогда она мне казалась далеко не дружелюбной для новичков.
Wesmckinney Python for Data Analysis, 3E
Post #454 2.78K
Post #452 2.7K
Post #449 2.63K
DataEng Интересный движ намечается в январе 2022 года — Data Engineer Zoomcamp Это 9 недельный курс в формате zoom-лекций и практических занятий по дата инжинирингу. Примечательно что он абсолютно бесплатный для всех, нужна лишь предварительная регистрация по ссылке.…
Вышла первая лекция сего движа: https://www.youtube.com/watch?v=bkJZDmreIpA
YouTube Data Engineering Zoomcamp 2022 Free data engineering course: https://github.com/DataTalksClub/data-engineering-zoomcamp We talked about: 00:00 Introduction 00:27 Agenda 00:56 Ankush intro 01:56 Sejal intro 02:55 Victoria intro 03:41 Alexey intro 04:40 Is it for me? 06:17 Course GitHub…
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →