Статьи
🚀 Автоматическое распределение задач ETL в Python с Celery 🔹 Что такое Celery? Celery - это мощная система распределенных очередей задач, разработанная для асинхронной работы и обработки данных. 🔹 Почему Celery используется в ETL? ETL задачи иногда требуют значительных ресурсов и времени. Celery позволяет распределить эти задачи между несколькими воркерами, оптимизируя время обработки и увеличивая эффективность системы. ✅ Преимущества Celery: - ✔ Распределенные задачи: Celery с легкостью распределяет задания по воркерам, что уменьшает время обработки. - ✔ Асинхронность: Нет необходимости дожидаться завершения предыдущей задачи, что ускоряет ETL процесс. - ✔ Масштабируемость: В вашей системе может работать столько воркеров, сколько необходимо – просто добавляйте их по мере роста вашего проекта. - ✔ Устойчивость: Если один из воркеров выйдет из строя, Celery перенаправит задание другому, обеспечивая бесперебойную работу. - ✔ Персистентность результатов: С Celery вы можете сохранять результаты ваших задач в базу данных или кэш, что упрощает мониторинг их выполнения. 💡 Как это работает? Вы определяете задачи ETL, а Celery принимает на себя распределение их по рабочим узлам, работающим параллельно. Вы получаете результаты быстрее и можете лучше управлять ресурсами. 🔗 Статья про ETL с помощью Django и Celery 🔗 Работа Celery Worker в Apache Airflow 🔗 Еще немного теории и практики с кодом про Celery
🔍 ETL с помощью SQL: Полная перегрузка данных (Full Reload) Привет! В сегодняшней публикации рассмотрим процесс полной перегрузки данных между двумя таблицами: исходной (source) и целевой (target) с помощью SQL. Full reload (полная перезагрузка данных в таблице) является одним из способов пакетной (batch) передачи данных. Существуют другие способы инкрементальной загрузки, о которых напишу в следующих постах. 🔄 Первый шаг: Очистка целевой таблицы (target) Перед началом перегрузки важно убедиться, что целевая таблица пуста, чтобы избежать дублирования данных. TRUNCATE TABLE target; 📊 Второй шаг: Вставка данных в целевую таблицу (target) Затем осуществляем перенос данных с помощью простого SQL запроса, который считывает все данных из source таблицы и делает вставку в target INSERT INTO target SELECT * FROM source; ✅ Третий шаг: Проверка успешности перегрузки После выполнения перегрузки проверяем, что количество записей совпадает в обеих таблицах. Это самый простой способ убедиться, что данные в source и target таблицах совпадают (по объему). При необходимости можно написать и другие проверки из этого поста, например на контрольные суммы. SELECT COUNT(*) FROM source; SELECT COUNT(*) FROM target; Следуя этим 3 простым шагам, вы сможете эффективно осуществить полную перегрузку данных, что является важной частью ETL-процессов. Full reload применяется обычно при существовании одного из следующих факторов: ✏️ при первой загрузке данных ✏️ внесены существенные изменения в структуру таблицы или в сами значения данных ✏️ специфика данных в source такая, что при каждой загрузке следует загружать либо бОльшую часть данных, либо всю таблицу целиком ✏️ структура данных такая сложная или наоборот сильно простая, что невозможно корректно определить инкремент для частичной загрузки, поэтому стоит перегружать все целиком 🔥 если пост понравился
Проходить собеседования — это навык. Если в 2024-м вы хотите — меньше волноваться на собесах, — эффективнее отвечать на вопросы и грамотно задавать их, читайте канал про собеседования в IT, где собран опыт и кандидата, и работодателя. —————— 🔹Булат ходит на собесы из азарта и интереса и пишет, что да как: какие были этапы, какие задавали вопросы. Лонгрид раз — про интервью к поставщику и разработчику технологий для бирж Два — про интервью в финтех Три — в Medtech 🔹Булат сам нанимает сотрудников и рассказывает, почему кандидату отказали. Лонгрид раз — про закрытые ответы Два — про улыбку и болтовню Три — про кандидата, который спорил ————— ✅Подписывайтесь, чтобы быть готовыми к собеседованию, а в случае отказа — сохранять здравую самооценку. https://t.me/tryoutonadancefloor 👆
1 прочтение · 4 дня назад
Совместное использование Python и SQL для анализа данных SQL остается непревзойденным стандартом для взаимодействия с реляционными БД, предоставляя обширные операции DML и DDL для эффективного манипулирования данными внутри структурированных хранилищ и баз данных. В отличие от SQL, Python является программным языком общего назначения, что даёт возможность извлечения данных из множества источников, например API-интерфейсы, файловые системы, внешние сервисы или даже документы и изображения. Python поддерживает разнообразие форматов данных, от JSON и XML до CSV и бинарных форматов, обеспечивая гибкость и универсальность в аналитических задачах. Объединение SQL и Python в данном контексте предполагает использование SQL для прямого доступа к реляционным базам данных и последующее применение Python для комплексной обработки и анализа результата. Существует библиотека sqlalchemy (и другие), позволяющая подключаться к базам данных и вызывать SQL запросы внутри Python кода. Результат запросов можно удобно и быстро записывать в структуру Pandas DataFrame для дальнейшего анализа. Таким образом, владение Python в дополнение к SQL значительно расширяет арсенал инструментов аналитика данных, давая простор для машинного обучения, статистической обработки и создания продвинутых аналитических отчётов. Что в итоге 🔎 SQL - для работы с данными внутри реляционный базы данных и структурированного хранилища данных. 🐍 Python - возможность работы с данными из разных источников в разных форматах для решения широкого спектра задач. Развивайте глубокие знания обеих технологий, чтобы эффективно управлять данными и извлекать из них максимальную ценность 🚀
🚀 Регистрация на хакатон «Ясная Система: сделай сложное понятным» от МТС стартовала! У тебя будет неделя, чтобы попрактиковаться в машинном обучении и сделать финтех инклюзивнее. Призовой фонд – 375 000 рублей. Оставляй заявку до 24 мая и участвуй в соревновании онлайн из любого города России: https://cnrlink.com/mtshacktomskdstudy 🤖 Задача – создать сервис, который сможет перевести сложные банковские тексты из датасета в ясные формулировки, подходящие для людей с ментальными особенностями, пожилых людей и иностранцев, плохо владеющих русским языком. Церемония открытия соревнования пройдет 25 мая на фестивале «Система Fest» в Томском государственном университете. Посетители смогут поучаствовать в насыщенной программе мероприятия. Для онлайн-участников МТС проведет два митапа с экспертами. 2 июня авторы 10 лучших проектов выступят с питчингами на церемонии награждения победителей. ➡️ Регистрируйся прямо сейчас, чтобы ничего не пропустить: https://cnrlink.com/mtshacktomskdstudy Реклама. ПАО "МТС". erid:LjN8K9MVY
1 прочтение · 1 неделю назад
Хожу в зал с февраля месяца, стал ощутимо видеть прогресс в самочувствии и росте силовых. До этого 4 года вообще игнорировал спорт, как итог за все это время набралось +15 кг, а они явно лишние 😕 После первых тренировок мышцы прям не могли понять что с ними происходит, все ныло и болело. Сейчас уже пришло все в норму и боль после тренировок есть, но не столь ощутимая. Сейчас на весах -4 кг учитывая шашлыки на майских 😁 Двигаюсь дальше, еще много нужно сбросить лишнего, а мышц наоборот нарастить. Обещаю не скидывать сюда фотки с голым торсом когда буду выглядеть как Зак Эфрон в фильме «Спасетели Малибу» 😅 Всем здоровья и спорта! 💪
Академия Аналитиков Авито открывает новый набор. Учись у практиков. Решай задачи бигтеха. Прокачайся как аналитик данных или DS-инженер. Такая строчка в резюме = буст к карьере.
1 прочтение · 1 неделю назад
Недавно писал пост про методы обеспечения безопасности баз данных. Еще одним методом обезопасить данные является их маскирование (masking). Подробнее про это можно почитать в статьях ⬇️ 📍Маскирование баз данных 📍Маскировка как надежный способ защиты информации
1 прочтение · 1 неделю назад
🔥 Бесплатный интенсив по Python для начинающих аналитиков! Завтра в 19:00 по Мск пройдет бесплатный интенсив по теме: “RFM-анализ клиентской базы с помощью Pandas в Python”. Мы проводили такой интенсив в начале года и собрали очень много положительного фидбека 💫 Поэтому мы решили, почему бы не провести его еще раз 😍 Что будем делать на интенсиве: ◾️ Проанализируем реальную клиентскую базу аптечной сети ◾️ Напишем скрипт для проведения RFM-анализа ◾️ Изучим несколько классных фишек Pandas и сформулируем конкретные бизнес-выводы ❗️ Интенсив подойдет всем — от новичков до тех, кто уже знаком с Python: мы будем подробно объяснять каждый свой шаг и будем много говорить про аналитику на примере реальной бизнес-задачи – такой опыт точно будет вам полезен 😊 А вы готовы бустануть свои знания и скиллы в аналитике? 🔗 Регистрируйтесь на интенсив здесь → ссылка. Реклама. ООО «АЙТИ РЕЗЮМЕ». ИНН 4025460134. Erid:LjN8Kcfy6
1 прочтение · 1 неделю назад
Книги для саморазвития Поделюсь подборкой книг не по теме IT, которые я прочитал и подчеркнул для себя ценные мысли. 📖 Принцип 80/20 (Ричард Джон Кох) Основная мысль книги: 20% усилий приносят 80% результата и наоборот. Также описаны примеры и подходы как применять это правило в жизни и бизнесе 📖 45 татуировок продавана (Максим Батырев) Книга про правила продаж, переговоров с клиентами, небольшие хитрости и тонкости от автора. Каждый описанный случай из профессиональной деятельности описан в виде татуировки, т.е. уроке, который стоит запомнить на всю жизнь и придерживаться его. 📖 Пиши, сокращай (Максим Ильяхов, Людмила Сарычева) Авторы показывают как создавать сильные тексты, заинтересовывающие читателей в разных форматах: статьи, посты, книги, интервью и т.д. 📖 Думай и богатей (Наполеон Хилл) Книга про силу мысли, веры, постановки целей и желания, которые приводят людей к успеху. Рассказаны очень много историй известных и успешных людей, например Генри Форда, Стивена Спилберга, Билла Гейтса, про их мышление в момент становления их как личности, которые стремились воплотить свои мечты и цели в реальность
🔐 Укрепляем безопасность наших данных: Практики по обеспечению безопасности баз данных Привет! Сегодня поговорим о том, как обезопасить то, без чего современный цифровой мир не сможет функционировать адекватно – наши базы данных. 🌐 Возьмем за основу простую истину: данные – это ценность, а значит, они должны быть защищены так же, как и любые другие ценные вещи. Это означает применение комплекса мер: 1️⃣ Регулярное обновление и патчинг. Софт без последних обновлений – подарок для хакеров. Убедитесь, что у вас установлены все последние патчи безопасности. 2️⃣ Шифрование данных. Шифруйте данные во время хранения и передачи. Это создает дополнительный слой защиты, даже если кто-то получит физический доступ к вашим хранилищам. 3️⃣ Аутентификация и контроль доступа. Используйте сильную аутентификацию и минимальные привилегии для доступа к БД. Каждый пользователь должен иметь только те права, которые ему действительно необходимы для работы. 4️⃣ Резервное копирование. Регулярно создавайте резервные копии ваших баз данных. В случае сбоя или атаки вы всегда сможете восстановиться. 5️⃣ Мониторинг и аудит. Отслеживайте и анализируйте активность в БД. Это позволит выявить необычные паттерны, которые могут указывать на попытку вторжения. Внедряя эти практики в свою работу, вы не только повышаете безопасность данных, но и демонстрируете ответственный подход к управлению информационными активами. Ваша чуткость к вопросам безопасности - это залог доверия клиентов и партнеров. 👥 И помните, в мире данных – ваша осторожность и предусмотрительность это не паранойя, а профессионализм! 💼
Авторы Академии Аналитиков Авито выпустили бесплатный курс по прикладной статистике. В нём две части — первая по базе, которую важно знать для работы с данными, вторая по более сложным критериям. Пройти можно здесь. Курс научит собирать и валидировать кастомные критерии на реальных данных, а ещё решать задачи бизнеса с применением прикладной статистики.