Аналитика данных / Data Study
8.47K subscribers
404 photos
38 videos
24 files
329 links
Сайт: https://datastudy.ru/
По всем вопросам: @daniildzheparov

Про аналитику и инженерию данных

Вакансии: https://t.iss.one/data_vacancy
Книги: https://t.iss.one/analyst_books
Download Telegram
🚀 Автоматическое распределение задач ETL в Python с Celery

🔹 Что такое Celery?
Celery - это мощная система распределенных очередей задач, разработанная для асинхронной работы и обработки данных.

🔹 Почему Celery используется в ETL?
ETL задачи иногда требуют значительных ресурсов и времени. Celery позволяет распределить эти задачи между несколькими воркерами, оптимизируя время обработки и увеличивая эффективность системы.

Преимущества Celery:
- Распределенные задачи: Celery с легкостью распределяет задания по воркерам, что уменьшает время обработки.
- Асинхронность: Нет необходимости дожидаться завершения предыдущей задачи, что ускоряет ETL процесс.
- Масштабируемость: В вашей системе может работать столько воркеров, сколько необходимо – просто добавляйте их по мере роста вашего проекта.
- Устойчивость: Если один из воркеров выйдет из строя, Celery перенаправит задание другому, обеспечивая бесперебойную работу.
- Персистентность результатов: С Celery вы можете сохранять результаты ваших задач в базу данных или кэш, что упрощает мониторинг их выполнения.

💡 Как это работает?
Вы определяете задачи ETL, а Celery принимает на себя распределение их по рабочим узлам, работающим параллельно. Вы получаете результаты быстрее и можете лучше управлять ресурсами.

🔗 Статья про ETL с помощью Django и Celery
🔗 Работа Celery Worker в Apache Airflow
🔗 Еще немного теории и практики с кодом про Celery
🔥4👍1
Что может быть лучше чем записаться на Тех. Обслуживание в воскресенье на 8:00 😅

Пытаюсь активировать мозг с помощью кофе и просмотра «Декларации» (👍 кто тоже смотрит)
👍93
Радуюсь за каждого своего ученика больше чем за себя 🔥🎉💪

Давайте накидаем 🔥 Дарье за её успех и пожелаем профессионального развития 👩‍💻

#кейс
🔥65🎉9👍3
Подборка курсов по инжинирингу данных

Делюсь ссылками на курсы, которые сам смотрел еще года 3 назад, когда было меньше проблем в мире, в том числе с доступами к сервисам без VPN. Сейчас придется открывать ссылки ниже именно под VPN

Материалы курсов на английском языке

📍IBM Data Engineering Professional Certificate
Набор курсов по Python, SQL, ETL инструментам (Airflow, Kafka, Spark) с теорией и практическими задачами в виде мини-проектов. Можно проходить бесплатно без получения сертификата. Если хотите сертификат, нужно будет заплатить, а также успешно выполнить итоговый проект

📍Data Engineering, Big Data, and Machine Learning on GCP
Набор курсов в виде специализации от Google, обучение технологиям показано на из облачной платформе Google Cloud Platform (GCP). Для тех кто работает/хочет работать в иностранных компаниях - отличный повод изучить сервисы GCP и покрутить их на практических задачах. Также как и в прошлом курсе можно смотреть все бесплатно, а для получения сертификата нужно платить

📍Advance Your Data Engineering Skills
Набор учебных курсов для прокачки работы с Apache Spark, работы с сервисами AWS (Amazon Web Services), подтягивание Python алгоритмов и структур данных. Также есть уроки по Snowflake и даже подготовка к получению сертификата Microsoft Azure Data Engineering (DP-203)


Ставим 👍 если кто-то решил отложить описанные курсы на «потом» и возможно к ним никогда так и не приступит 😉
👍51😁52🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Хорошо что магазин прямо в доме под крышей и никакая погода не остановит чтобы выйти за вкусняшкой к чаю 😎🧑‍💻

#люблюудаленку
🔥156
Сегодня начали собесить стажеров в нашу команду, до конца недели ребята уже получат решение по приглашению на стажировку в Сравни 👨‍💻

Кто пропустил, Сравни запускает летнюю стажировку по направлению аналитики данных и продуктовой аналитике. Вот здесь писал об этом

📍Отличная новость для тех кто еще не подал заявку - старт стажировки сдвигается на 1 июля, чтобы все комфортно могли стартовать после сдачи сессий, дипломов и т.п.

Оставляйте заявку, решайте тестовые задания, и возможно с вами уже скоро начнем работать в одном коллективе 😉
👍52
Начитаешься таких статей про подключения из одной базы данных в другую и думаешь «а может ETL вообще не нужен 😅»

🔗 dblink для подключение из Postgres к другим БД
🔗 Интеграция Postgres и Hadoop

Все это конечно хорошо, но применение зависит от поставленных задач. Большая часть практических кейсов все равно требует полноценного ETL пайплайна, где не обойтись выполнением запросов к одной БД из другой
👍6
🔍 ETL с помощью SQL: Инкрементальная загрузка 🔍

В отличие от полной перезагрузки (Full Reload), описанного в этом посте, инкрементальная загрузка перемещает только новые или обновленные данные. Это экономит ресурсы и время, особенно при работе с большими объемами данных.

Давайте поговорим о ключевых этапах этого процесса:

1️⃣ Определение инкремента данных
Инкремент - набор данных, которые нужно загрузить. Он может определяться как набор новых строк в источнике, так и набор строк с обновленными значениями. Для определения инкремента обычно используются поля со смыслом как "дата обновления записи", "дата создания записи" и др. с похожим смыслом, по которым можно сделать выборку нужного инкремента.
Пример выделения инкремента из таблицы source по условию, что поле update_date имеет сегодняшнюю дату
SELECT *
FROM source s
WHERE update_date = CURRENT_DATE()


2️⃣ Вставка инкремента в target таблицу
Пример запроса может выглядеть так:
INSERT INTO target
SELECT *
FROM source s
WHERE update_date = CURRENT_DATE();

Здесь есть нюанс, что в таблицу target попадут все записи инкремента и останутся те, которые были уже в таблице например под одним и тем же id. Таким образом может собираться накопительная историческая таблица, например с продажами. К примеру в таблице target уже была запись по продаже с id = 5 и status = 'buy'. А в новом инкременте из source прилетит обновленная строка с id = 5 и status = 'cancelled'. Таким образом в target будет зафиксирована вся история обновления строк.

Если в target таблице нужно оставить только актуальную версию данных без исторического состояния, такой способ я распишу в одном из следующих постов этой серии.

Оставляйте реакции, если пост был полезен 😉
🔥363👍3
Привет
Я являюсь ментором в Solvery и сейчас мне ребята написали, что сегодня в 19:00 есть отличная возможность пройти moc-собеседование на middle бизнес-аналитика.
Собеседование будет записываться в прямом эфире, для вас это классная возможность потренироваться + добавить в резюме такой публичный опыт 😉

Напишите мне в личку @daniildzheparov кто готов принять участие

Upd: предложение неактуально)
Это я получил костюм для эндуро-покатушек и мысленно газую на мотике в нем 😂

Сегодня праздничный день, а значит проведите его с пользой для себя и своего здоровья, пополните силы перед еще 2-мя рабочими днями!
🔥232😁2
Синдром самозванца

Синдром самозванца - психологический синдром, при котором человек не может реально оценить свои качества и личные достижения. Человеку кажется, что он знает меньше других и не достоин того что сейчас имеет. Это проблема адекватной оценки своих достижений и умений.

Лично у себя я ловлю такие мысли иногда, что я "делаю мало", "знаю недостаточно хорошо", "не заслуживаю чего добился" или "мог бы в свои годы достичь большего".

Знакомо

Несколько способов как бороться с этим:

1️⃣ Сравнивайте свое текущее состояние с тем что было 1/2/3 года назад
В моменте может показаться, что вы непродуктивны или двигаетесь не так быстро как хотелось бы. Но если вы сравните себя текущего с собой из прошлого, то скорее всего удивитесь как много вы сделали и достигли за это время.

2️⃣ Спрашивайте обратную связь о себе со стороны
Мы себя видим одним образом, люди со стороны могут видеть вас совсем по-другому. Спросите у своих родственников, друзей, коллег что они думают про вас.
- Как бы они вас описали в нескольких предложения, подчеркнув ваши основные черты
- Какие они видят в вас сильные стороны
- Какие они видят в вас недостатки (увы, они есть у всех, но с ними можно работать 👌)
Вы удивитесь сколько нового можно узнать о себе взглядом других людей со стороны.

3️⃣ Всегда занимайтесь саморазвитием и ставьте перед собой цели
Банально, но это дает гарантию, что вы можете оцифровать свои достижения по явному чек-листу прописанных целей. Достижение цели и проставление заветной галочки done напротив нее дают вам заряд положительных эмоций и фактическое признание своего достижения.

Это пункты, которые я взял себе на вооружение, вы их тоже можете попробовать 😉
👍24🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Исследуем данные с помощью ydata-profiling

Сегодня расскажу про инструмент, который вы можете использовать для первичного анализа данных (EDA) и оценки их качества (Data Quality Check) - это библиотека ydata-profiling.

Этот инструмент позволяет в считанные минуты получить полный отчёт о ваших данных, исследовать их основные характеристики и выявить потенциальные проблемы до глубокого погружения в анализ.

Основные возможности ydata-profiling:

1. Генерация отчётов
С помощью библиотеки можно быстро подготовить отчет , который включает в себя статистику по каждой переменной, распределения, корреляций, пропущенных значений и многое другое.

2. Оценка качества данных
Этот же отчет поможет обратить внимание на проблемы в ваших данных, такие как пропущенные значения, дубликаты или неоднозначные форматы, что позволит оперативно перейти к очистке данных.

3. Интерактивные визуализации
Можно визуально посмотреть на распределения и корреляции благодаря встроенным графикам и интерактивным элементам.

Как начать работу?

Для начала работы с ydata-profiling нужно установить библиотеку, например с помощью pip:

pip install ydata-profiling



После установки загрузите ваш DataFrame и сгенерируйте отчёт в несколько строк кода:

import pandas as pd
from ydata_profiling import ProfileReport

df = pd.read_csv('data.csv')
profile = ProfileReport(df, title="Profiling Report")



И на выходе вы получаете отчет, который можно просматривать прямо в Юпитер ноутбуках, либо сохранить например в html и
открыть просто в браузере и даже поделиться с коллегами)

🔗 Официальная документация ydata-profiling
🔥23👍141
Классная статья, в которой можно посмотреть устройство хранилища данных по слоям хранения.
Расписаны виды источников данных и даже применяемые SCD типы для загрузки данных 👍
Кто задается вопрос «что это такое ваше DWH и почему придумали новое название для базы данных» - вам обязательно к прочтению 😉

Статья начала 2022 года, видно что описанный стэк технологий явно неактуален. Думаю ребята уже съехали как минимум с Oracle (в конце написано что в планах был переезд на Greenplum), SAP Business Objects и Power BI тоже скорее всего чем-то заменены.

Читать статью
🔥7👍2
Бесконечно можно радоваться 3 вещам:
1. Когда светит солнышко ☀️
2. Когда твои ученики находят работу 💼
3. Когда твои посты читают и обсуждают в проф. сообществах 🧑‍💻

Вообще сегодня отличное настроение, жена сдала госы и защитила красный диплом 📕👩‍🎓 В медицинском ВУЗе!!! Это вам не аналитике учиться, у них там думать и зубрить кучу материала нужно 😃

Пытаюсь сейчас ее переманить в аналитику или в IT в целом, она говорит смотря на мои открытые экраны со скриптами, что «более скучную работу чем у тебя я не видела» 😅 Вот так, каждому свой выбор)

#кейс
16👍6🔥4
Нашёл вот такую визуальную карту Chart Suggestions для выбора более оптимального и эффективного визуального элемента в зависимости от данных и решаемой потребности визуализации

Забирайте себе, может кому-то пригодится на практике 😉
👍314🔥3
Открепляю сообщени о стажировке в Сравни

Мы набрали стажеров, по впечатлениям от собесов все ребята мотивированы погружаться с головой в аналитические задачи. В понедельник поедем знакомиться в офис, делать онбординг и есть пиццу 😉🍕
🔥246
Методология DataOps

Слышали ли вы про понятие DataOps?
Если нет, то сейчас разберем вместе, что оно обозначает.

🔎 DataOps - это методология и набор практик непрерывной интеграции данных, автоматизации и мониторинга управления данными в течение всего их жизненного цикла.

Какие задачи входят в DataOps?
📍автоматизация процессов загрузки данных в хранилища
📍мониторинг операционных потоков данных
📍оптимизация аналитики данных
📍создание инфраструктуры для корректного хранения, движения и использования данных

Полезные ссылки для погружения в тему:
🔗 DataOps Wikipedia
🔗 Концепция DataOps
🔗 DataOps в Big Data
🔗 What is DataOps
🔥9👍3
Сегодня стажеры в свой первый день получали доступы и впитывали новые термины. Сразу вспомнился такой мем в тему 😃
😁313🔥2